2017-04-07 87 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