sqlcmd将无法运行 - 这是配置问题吗?

时间:2011-02-22 19:56:12

标签: sql sql-server tsql sqlcmd

我正在尝试使用sqlcmd来执行一些SQL脚本。

使用带有简单查询的测试命令,如:

sqlcmd -S HOSTNAME -d MYDATABASE -Q 'SELECT Names FROM Customers'

sqlcmd似乎没有尝试连接到服务器,因为它显示以下消息:

  

Sqlcmd:错误:连接失败。
  未安装SQL Native Client   正确。要更正此问题,请运行SQL   服务器设置。

本机客户端可能是作为SQL Server设置的一部分安装的,可能是正确的。我实际上在安装了SQL服务器的任何计算机上都尝试使用sqlcmd来获取此消息,因此这不是安装损坏的问题。

不幸的是,这条消息确实没有告诉我这个问题,所以我不知道真正的问题是什么。我知道SQL Native客户端正常工作,因为vbscript能够对数据库执行SQL查询。

是否需要使用sqlcmd进行其他配置?

4 个答案:

答案 0 :(得分:15)

我有同样的错误。经过大量的搜索和重新安装后,我检查了我的PATH是否有无关的内容。由于我所使用的软件已通过MSDE,2005 Express和现在的2008 Express R2,我的PATH声明中包含以下条目:

  

c:\ Program Files \ Microsoft SQL Server \ 80 \ Tools \ Binn \; C:\ Program Files \ Microsoft SQL Server \ 90 \ Tools \ binn \; c:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ BINN \

我删除了80和90条目并停止接收错误。我测试过,2005 Express的安装仍然没有问题地响应SQLCMD条目。

答案 1 :(得分:3)

运行命令sqlcmd时遇到此错误。为了解决这个问题,我删除了PATH环境变量的不必要部分,并插入了以下内容:

C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\

此PATH适用于SQL Server 2012

答案 2 :(得分:1)

我也在 MS SQL Server 2014 中收到此错误。

  

Sqlcmd:错误:连接失败。未安装SQL Native Client   正确。要更正此问题,请运行SQL Server安装程序。

首先,确认已安装 SQL Server Native Client 。根据{{​​3}}的规定,bcp.exe和 SQLCMD.exe 文件应位于以下目录中。

<Install Directory>\Client SDK\ODBC\110\Tools\Binn

如果文件不存在,您可以使用 ENU \ x86 \ sqlncli.msi或ENU \ x64 \ sqlncli.msi从MSDN下载并安装客户端 即可。 MSSQL 2014使用2012客户端

完成此操作后,您应该可以毫无问题地使用SQLCM。

我的机器上的路径环境变量包含以下条目:

C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\
C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\
C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\

答案 3 :(得分:0)

  

我知道SQL Native客户端正常工作,因为vbscript能够对数据库执行SQL查询。

不,不。您只知道SOME客户端可以工作,但不一定是SQL Native客户端。

所有道路都通往罗马http://www.connectionstrings.com/sql-server-2008(查看提供商列表),但其中一条恰好被阻止。

只需从控制面板执行修复/修改设置,或安装另一个实例(确保安装了Native客户端),然后再将其删除。