mysql怎么从server导出来_如何将SQL Server数据库导出到MySQL?

4998cde446434655993a58a5c10e8dad.png

红颜莎娜

如上所述,如果您的数据中包含制表符,逗号或换行符,那么使用CSV导出和导入数据将非常困难。值将从字段中溢出,您将获得错误。如果您的任何长字段都包含多行文本,其中包含换行符,则此问题会更加严重。在这些情况下,我的方法是使用BCP命令行实用工具从SQL Server导出数据,然后在MySQL中使用LOAD DATA INFILE .. INTO TABLE命令读取数据文件。BCP是最早的SQL Server之一命令行实用程序(可追溯到SQL Server v6.5的诞生),但它仍然存在,并且仍然是获取数据的最简单,最可靠的方法之一。要使用此技术,您需要在MySQL中使用相同或等效的架构创建每个目标表。通过右键单击SQL企业管理器中的“数据库”,然后单击“任务”->“生成脚本...”,并为所有表创建一个SQL脚本,可以做到这一点。然后,您必须手动将脚本转换为与MySQL兼容的SQL(这绝对是工作中最糟糕的部分),并最终在MySQL数据库上运行CREATE TABLE命令,以便将表与SQL Server版本进行逐列匹配,为空且准备好数据。然后,从MS-SQL端导出数据,如下所示。bcp DatabaseName..TableName out TableName.dat -q -c -T -S ServerName -r \0 -t !\t!(如果使用的是SQL Server Express,则使用-S值,如下所示:-S“ ComputerName \ SQLExpress”)这将创建一个名为TableName.dat的文件,其字段由![tab]分隔!和以\ 0个NUL字符分隔的行。现在,将.dat文件复制到MySQL服务器上的/ tmp并在MySQL端进行加载,如下所示:LOAD DATA INFILE '/tmp/TableName.dat' INTO TABLE TableName FIELDS TERMINATED BY '!\t!' LINES TERMINATED BY '\0';不要忘记,表(此示例中的TableName)必须已经在MySQL端创建。在转换SQL模式时,此过程非常麻烦,但是它适用于最困难的数据,并且由于它使用平面文件,因此您无需说服SQL Server与MySQL对话,反之亦然。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值