通过 SQLCMD 将 sql 文件从 MySQL 导入到 MS SQL 时语法不正确

Incorrect syntax when import sql file from MySQL to MS SQL via SQLCMD

我有从 MySQL 导出的大型 .sql 文件,并尝试通过

将它们导入 MS SQL(localDB)

SQLCMD。但是当我在命令提示符中输入以下内容时:

sqlcmd.exe -S (localdb)\MSSQLLocaldb -i C:\Users\Administrator\Desktop\SQLQuery4.sql

我收到以下错误消息:

Incorrect syntax near 'tblo'

我检查了我的 .sql 文件,似乎 SQLCMD 无法理解双引号

例如

INSERT INTO "tblo" VALUES (2,'DTT','10000286','Dp','y',2,38,'2010-02-22 11:03:51','2010-02-22 11:03:51');

但是,使用 SSMS

没问题

有解决这个问题的办法吗?

我自己找到了解决办法: 当我从 MySQL

转储数据时,我可以添加 --skip-quote-names 标志

例如

mysqldump.exe -hlocalhost -uUserName -pPassword --compatible=mssql --no-create-info --skip-quote-names --skip-add-locks DataBase tblo > D:\Test\dump.sql

dump.sql 中的结果如下:

INSERT INTO tblo VALUES (2,'DTT','10000286','Dp','y',2,38,'2010-02-22 11:03:51','2010-02-22 11:03:51');

所以我可以使用这个 .sql 通过 SQLCMD

直接将数据导入 MS SQL 服务器

sqlcmd -S (localdb)\MSSQLLocaldb -i D:\Test\dump.sql