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

nui*_*it9 7 sql t-sql sql-server sqlcmd

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

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

sqlcmd -S HOSTNAME -d MYDATABASE -Q 'SELECT Names FROM Customers'
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

The*_*ine 16

我有同样的错误.经过大量的搜索和重新安装后,我检查了我的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条目.

  • 我在安装SQL Server 2012后遇到了同样的问题,当我检查PATH环境变量值时,我发现Sql Server 2012(文件夹名为110)和Sql Server 2008(名为100的文件夹)存在重复条目.所以SQLCMD总是从Sql Server 2008文件夹中获取,即使安装的本机客户端是Sql Server 2012并且我已经卸载了Sql Server 2008.因此错误.我删除了文件夹"100"的条目,一切都很好.基本上,MS需要在Sql Server卸载期间更好地进行清理! (2认同)

Ric*_*iwi 0

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

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

条条大路通罗马http://www.connectionstrings.com/sql-server-2008(查看提供商列表),但恰巧有一条路被封锁。

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