国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

找到一種不錯的從SQLServer轉(zhuǎn)成Mysql數(shù)據(jù)庫的方法

2024-07-24 12:43:34
字體:
供稿:網(wǎng)友
年初的時候一直在做一個網(wǎng)站MSSQL2000 -> MySQL5的遷移工作,因?yàn)椴捎昧瞬煌某绦蛳到y(tǒng),所以主要問題在數(shù)據(jù)的遷移。由于2個系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)差異非常大,不方便采取SQL SERVER里導(dǎo)入MYSQL的ODBC數(shù)據(jù)源的功能(也不推薦這么做,字段類型等不同點(diǎn)會搞死人的~),因此就在WINDOWS下自己寫PHP腳本從SQLSERVER里讀數(shù)據(jù),然后按照新系統(tǒng)的需要處理之后插入MYSQL里面,靈活也比較方便。實(shí)際過程主要有下面幾個問題:

1、數(shù)據(jù)庫的連接,主要是連接SQL SERVER。主要有3種方法:
1.1 利用PHP中的mssql_系列函數(shù),這個與使用mysql_系列函數(shù)類似,不過要打開php.ini中相關(guān)擴(kuò)展(extension=php_mssql.dll)。
1.2 利用ODBC連接,由于抽象了具體數(shù)據(jù)庫,所以沒有辦法利用數(shù)據(jù)表字段名=>數(shù)組鍵名的特性,在針對具體應(yīng)用時不是很方便,代碼形式:

$conn = odbc_connect("datasource","username","password");
$sql = "select * from news";
$cur= odbc_exec($conn, $sql);
while(odbc_fetch_row($cur)){
    $field1 = odbc_result($cur,1);
    $field2 = odbc_result($cur,2);
//do something
}
1.3 使用PDO - PHP5中加入數(shù)據(jù)對象抽象層,作為官方推出的數(shù)據(jù)訪問接口,優(yōu)點(diǎn)有很多,比如支持參數(shù)綁定以防止SQL注入;對于不同數(shù)據(jù)庫加載不同驅(qū)動即可,程序代碼是一致的,便于移植等等,相信應(yīng)該是大勢所趨。不過由于用了PHP5全新的面向?qū)ο筇匦裕枰狿HP5的支持,5.1可以直接使用,5需要裝PECL,另外還要修改PHP.ini,增加:extension=php_pdo_mysql.dll和extension=php_pdo_mssql.dll,實(shí)際代碼如下:

try {
    $DBH=new PDO("mssql:dbname=XXX;host=localhost", 
"root", "password");//Connect to DB
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage();//Error Message
    die();
}
$stmt = $DBH->prepare("SELECT * FROM news");//Stmt Handle $stmt
if ($stmt->execute()) {
    while ($row = $stmt->fetch()) {
        //do something
    }
}
$stmt2 = $mssql->prepare("INSERT INTO news 
(title,author) VALUES (:title, :author)");
$stmt2->bindParam(':title', $title);
$stmt2->bindParam(':author', $author);
$stmt2->execute();
$DBH = null;// Close Connection這里要提醒下的是MSSQL里面是沒有MYSQL中LIMIT這個語法的。

2、TEXT字段被截?cái)嗟膯栴}。
上面嘗試了3種連接數(shù)據(jù)庫方法,是因?yàn)楫?dāng)初連上MSSQL后SELECT出來的數(shù)據(jù)總是只有4K長度,以為是連接方式限制導(dǎo)致的,所以換了幾種都是這樣,最后查了資料才知道,是php.ini里面這2句配置的問題:
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 微山县| 土默特右旗| 忻州市| 大城县| 莱阳市| 武陟县| 奇台县| 元阳县| 凤庆县| 文山县| 普定县| 兴海县| 广宁县| 乌恰县| 万宁市| 长宁区| 香港| 南通市| 海门市| 平塘县| 新竹市| 平湖市| 瑞金市| 罗江县| 西充县| 禄丰县| 梧州市| 洞口县| 内江市| 平陆县| 桦南县| 沙田区| 山东省| 丰宁| 龙山县| 甘洛县| 宜都市| 德化县| 宜都市| 常州市| 蓝田县|