请尝试以下命令来运行此大型脚本文件:
sqlcmd -s (local) -i C:\myScript.sql
是否有人知道问题所在以及如何运行这个大型脚本文件?
我之前也遇到了同样的问题,不过现在已经解决了。
我的情况是我安装了多个版本的SQL(2005、2008、2012),而且我已经卸载了前两个版本,所以现在我只有Sql Sever Express 2012。
经过许多尝试后,我发现旧的安装程序在我的电脑上留下了它们各自的sqlcmd.exe文件,但卸载过程删除了相应的rll文件。
当我在命令提示符窗口中键入sqlcmd时,系统似乎试图运行旧的sql安装程序的sqlcmd。
然后我去了已安装版本的文件夹,那样就可以了。
这是(在我的情况下,在您的情况下您可以找到文件sqlcmd.exe):
1- cd C:\Program Files\Microsoft SQL Server\100\Tools\Binn
在该文件夹中,然后
2- SQLCMD -d databaseName -i C:\MyScripts\specificScript.sql
就搞定啦!
我在 Linux 安装 MS SQL Server CLI for Linux 时遇到了这个错误的变体,错误信息如下:
# bcp
Unable to load BCP resource DLL. BCP cannot continue.
# sqlcmd
Unable to load SQLCMD resource file(s)
for I in /opt/mssql-tools/bin/*; do install $I /usr/local/bin; done
当我删除那些副本并按照说明执行export PATH="$PATH:/opt/mssql-tools/bin"
后,它就可以工作了。
# bcp
usage: bcp {dbtable | query} {in | out | queryout | format} datafile
[...]
# sqlcmd
Microsoft (R) SQL Server Command Line Tool
Version 17.1.0000.1 Linux
[...]
我在 SQL Server 2008 R2 上遇到了这个问题。从Feature Pack重新安装命令行实用程序就解决了问题。诀窍是,如果您使用的是32位系统,请只安装x86包,但如果您使用的是64位系统,请同时安装x86和x64包。原因是某些SQL Server工具仅为32位,这意味着C:\Program Files\Microsoft SQL Server\100\Tools\Binn
和C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn
都在您的PATH变量中,以确保所有工具都可访问,这意味着可以运行其中任何一个,因此需要重新安装两者以确保它们能够正常运行。