2017-04-07 65 views
0

从MySQL到MS SQL导入SQL文件,我从MySQL导出的大型.sql文件,并尝试通过不正确的语法时,通过SQLCMD

SQLCMD将它们导入到MS SQL(的LocalDB)。但是,当我在以下到命令提示输入:

sqlcmd.exe -S(的LocalDB)\ MSSQLLocaldb -i C:\用户\管理员\桌面\ 1 \ SQLQuery4.sql

我得到了以下错误消息:

附近有语法错误tblo“

我检查了我的.sql文件,似乎SQLCMDç不懂双引号

例如

INSERT INTO “tblo” VALUES(2, 'DTT', '10000286', '压差', 'Y',2,38, '2010-02-22 11时03分51秒',” 2010-02-22 11:03:51');

然而,它的罚款与SSMS

任何想法来解决这个问题?

+0

您不能导入mysqldump的直接MSSQL – Jens

+0

不完全是。如果我在SSMS中执行这些.sql文件,我可以成功导入。我发现如果我删除这些双引号,我也可以通过SQLCMD导入。但这太不方便。所以我想知道是否有可能让我的SQLCMD理解双引号。 –

回答

1

我找到了解决的自己: 当我转储数据从MySQL

我可以添加--skip-引号名标志如

mysqldump.exe -hlocalhost -uUserName -Ppassword --compatible = MSSQL --no创建-信息--skip-引号名 --skip-添加锁数据库tblo> d:\测试\ dump.sql

结果在dump.sql会像:

INSERT INTO tblo VALUES(2, 'DTT', '10000286', '压差', '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:\测试\ dump.sql