设为首页 加入收藏

TOP

从SQL Server 2000向MYSQL5.1导入数据
2014-11-24 07:25:09 来源: 作者: 【 】 浏览:4
Tags:SQL Server 2000 MYSQL5.1 导入 数据

从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) www.2cto.com
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) { www.2cto.com
$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!";
}
>
作者 DouglasLau
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇windows下mysql自动定期备份并压.. 下一篇mysql5.1.37升级到5.5.3遇到的问题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 集合框架 - 菜 (2025-12-27 02:19:36)
·Java集合框架最全详 (2025-12-27 02:19:33)
·为什么安卓开发要用J (2025-12-27 02:19:30)
·C/C++ 类模板与模板 (2025-12-27 01:49:52)
·C语言 模板化<templ (2025-12-27 01:49:49)