我有一个1.5GB的sql脚本文件 我想运行它,但我无法使用SQL管理控制台,因为它无法加载文件。我找到了使用SQLCMD实用程序运行查询的解决方案,但是当我想执行它返回的文件时(无法加载资源文件SQMCMD.rll)
sqlcmd -s(local)-i C:\ myScript.sql
任何人都知道问题是什么以及我如何运行这个大型脚本文件?
答案 0 :(得分:2)
我下载了sqlcmd安装程序并运行它 - 看看是否能解决这个问题。
它位于“Microsoft SQL Server 2008命令行实用程序”下。
安装程序应该创建该文件,您将被设置。您还可以尝试运行osql,这是较旧的命令行SQL实用程序。
编辑:
尝试this:
请检查sqlcmd.exe和sqlcmd.rll上的权限,并确保用户具有读取和执行权限。您还可以在命令中指定sqlcmd.exe的完整路径,例如: “C:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \ sqlcmd.exe”-L
答案 1 :(得分:2)
我有同样的问题,我已经解决了。
在我的情况下问题是我安装了多个版本的SQL(2005年,2008年,2012年),并且我已经卸载了前两个版本,所以此时我只有Sql Sever Express 2012。
在玩了很多分钟后,我发现旧的安装在我的机器上留下了他自己的sqlcmd.exe文件,但卸载过程删除了相应的rll文件。
当我在cmd窗口中按下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
这就是诀窍!
答案 2 :(得分:0)
我刚刚在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变量中,以确保所有工具都可访问,这意味着可以运行它们,因此需要重新安装它们以确保它们正常运行。
答案 3 :(得分:0)
就我而言,从SQL Server 2008 R2迁移到SQL Server 2012后出现了问题。 问题很简单。这是道路。只需更正指向新目录的系统路径中的SQL Server路径。
答案 4 :(得分:0)
我在MS SQL Server CLI for Linux的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
[...]