從SQL Server 2000向MYSQL5.1導入數據

1、在Sql Server 2000中選中右擊所要導出的數據庫選擇->所有任務->導出數據

2、在彈出的對話框中選擇“下一步”,在DTS 導入/導出嚮導中選擇“下一步”

3、在接下來的對話框中將目的改爲“文本文件”,在文件文件名的對話框中找到所要導出的文件的名稱,單擊“下一步”。

4、在彈出的對話框中選擇“用一條查詢指定要傳輸的數據”,單擊“下一步”。

5、在彈出的對話框中的查詢語句框中輸入相關查詢語句。(例如select id,name,pwd from user)單擊“分析”,如果彈出“SQL語句有效”則單擊下一步。

6、在選擇目標文件格式的對話框中的列分隔符中選擇對應的分隔符(一般爲逗號),文本限定符(一般爲雙引號{"}),如果有需要可以單擊“轉換格式”(我選擇了,把所有字段的類型都改爲varchar,這樣只是爲了方便在PHP中設定delimiter)

7、下一步->下一步->完成

8、如果彈出“成功地將1個表從Microsoft SQL Server複製到了Flat File。”則從SQL Server 2000導出成功了!

 

 

 

PHP的版本祕須在5.0以上

<?php
$mysqli = new mysqli ( 'localhost', 'root', '880116', 'Douglas' );

//這個地方必須設置爲utf8而不是utf-8或者UTF-8,如果不是utf8則在數據內將會出現亂碼
$mysqli->query("set names utf8");
if ($mysqli) {
    $fh = fopen ( 'user.txt', 'r' );
    $delimiter=',';
    $enclosure='"';
    while ( $line = fgetcsv ( $fh, 120000,$delimiter ,$enclosure) ) {
        $id= $line [0];
        $name= $line [1];

        //因爲SQL Server 2000導出的文本文件是以GB2312所以必須轉換成和MYSQL中的表一樣的Character Set,當然這個地方跟據需要,如果表的Character set是GBK則這個地方的UTF-8必須爲GBK

        $name=iconv('GB2312', 'UTF-8', $name);
        $pwd= $line [2];
        $query="insert into user(id,name,pwd) values('$id','$name','$pwd')";
        $result=$mysqli->query($query);
    }
    fclose($fh);
    mysqli_close();
} else {
    echo "You can't connect!";
}
?>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章