2017-08-01 107 views
0

我想从一个表中的所有数据出来的MsSQL数据库将其导入到MySQL。看指南应该很简单。MsSQL到MySQL迁移

我选择任务 - >导出数据 那么,我选择了..

..source为MSSQL Server本机客户端

..target为平面文件(区域设置=丹麦,并勾选复选框的Unicode)

由“(双引号)

..to去除头

..delimited ..row定界符作为{CR} {} LF(这是\ r \ n在MySQL?)

..column分隔符为,(逗号)

和运行它立刻 - 在文件>结果称为test.csv

我使用“脚本表”来获取所有列和它们的属性,将它们复制到MySQL Workbench中并使代码适应MySQL的创建格式。

LOAD DATA LOCAL INFILE 'D:\\test.txt' INTO TABLE test FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ;

然后我得到以下错误:

错误代码:1300 UTF8无效的字符串:“”

这个我真的不明白,因为我已经出口到Unicode格式。有任何想法吗?

+0

你有没有听说过** MSSA **?这是一个你很容易做到的工具。更多信息[这里](https://docs.microsoft.com/en-us/sql/ssma/sql-server-migration-assistant) – Fmanin

+0

不,但我也是以其他方式。 MsSQL - > MySQL和作为我可以读MSSA的FAS是MySQL - > MsSQL .. –

回答

0

我相信它的格式问题和最好的方法是做一个脚本。

    使用 ODBCPHP(如果使用的是PHP), odbc_connect例如 Conn1
  • 连接数据库
  • 使用 mysqliPHP mysqli_connect例如 Conn2
  • 获取每个记录在阵列或与连接Conn1对象
  • 连接数据库
  • 现在插入记录Conn2

我希望它能帮助你。 谢谢

+0

我不是一个PHP程序员,我用Dbble有点用Python,但不知道我是否足够熟练,可以做出你的建议。据我所知,MsSQL是默认的拉丁-1,所以我正在考虑出口作为和导入转换,这是一个选项? –

+0

那么,你需要在python中加载MS Sql和MySQL的驱动程序,你可以这样做。 关于格式化,是的,你是对的。你也可以尝试。 –