无法加载资源文件sqlcmd.rll。

5
我有一个1.5GB大小的SQL脚本文件,想要运行它,但是我不能使用SQL Management Console来加载这个文件。我找到了一个解决方法,就是使用SQLCMD实用程序来运行查询,但是当我想执行这个文件时,它返回了(无法加载资源文件SQMCMD.rll)。
请尝试以下命令来运行此大型脚本文件:
sqlcmd -s (local) -i C:\myScript.sql
是否有人知道问题所在以及如何运行这个大型脚本文件?
5个回答

3

我之前也遇到了同样的问题,不过现在已经解决了。

我的情况是我安装了多个版本的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

就搞定啦!


事实证明,旧的2008安装程序的整个子目录仍然存在。因此,这个问题也可能发生在其他二进制工具上。 - Marcus Rickert

2

点击此处下载 sqlcmd 安装程序并运行,看看是否能解决问题。

安装程序位于 "Microsoft SQL Server 2008 命令行实用程序" 下。

安装程序将创建该文件,然后您就可以使用了。您也可以尝试运行 osql,这是旧版命令行 SQL 实用程序。

编辑:


尝试这里的方法:

请检查 sqlcmd.exe 和 sqlcmd.rll 的权限,并确保用户对它们具有读取和执行权限。您还可以在命令中指定 sqlcmd.exe 的完整路径,例如:"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe" -L


该文件存在于C:\Program Files\Microsoft SQL Server\100\Tools\Binn\Resources路径下,但是sqlcmd无法识别它。我已经按照您所说的做了,但没有任何改变。 - Ehsan
下载链接已损坏。 - JKennedy

0

我在 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)

我发现我没有完全按照安装指南进行操作,因为我没有修改系统PATH以添加安装目录(/opt/mssql-tools/bin),而是使用了“install”将二进制文件复制到了/usr/local/bin,但没有相应的/opt/mssql-tools/share目录。
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
[...]

0

我在 SQL Server 2008 R2 上遇到了这个问题。从Feature Pack重新安装命令行实用程序就解决了问题。诀窍是,如果您使用的是32位系统,请只安装x86包,但如果您使用的是64位系统,请同时安装x86和x64包。原因是某些SQL Server工具仅为32位,这意味着C:\Program Files\Microsoft SQL Server\100\Tools\BinnC:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn都在您的PATH变量中,以确保所有工具都可访问,这意味着可以运行其中任何一个,因此需要重新安装两者以确保它们能够正常运行。


0
在我的情况下,问题出现在从SQL Server 2008 R2迁移到SQL Server 2012之后。问题非常简单,就是路径的问题。只需将系统路径中指向新目录的SQL Server路径更正即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接