mysql5.1导入数据_从SQL Server 2000向MYSQL5.1导入数据

该博客介绍了如何从SQLServer2000导出数据到文本文件,然后使用PHP读取并导入到MySQL的过程。详细步骤包括设置导出选项、指定查询语句、设置文件格式等,并强调了字符编码和数据类型转换的重要性。
摘要由CSDN通过智能技术生成

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以上

$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!";

}

?>

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-04-01 11:29

浏览 677

分类:数据库

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值