2011-02-22 20 views
6

我正在嘗試使用sqlcmd來執行一些SQL腳本。sqlcmd不會運行 - 這是一個配置問題?

使用測試命令是一個簡單的查詢:

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

SQLCMD似乎並不做任何嘗試連接到服務器,因爲它會顯示此消息:

Sqlcmd: Error: Connection failure.
SQL Native Client is not installed correctly. To correct this, run SQL Server Setup.

本地客戶端大概是作爲SQL Server安裝程序的一部分安裝的,可能是正確的。實際上,在安裝了SQL Server的任何機器上都會收到此消息,試圖使用sqlcmd,因此這不是安裝被破壞的問題。

不幸的是,這條消息真的沒有告訴我這個問題,所以我不知道真正的問題是什麼。我知道SQL Native客戶端工作正常,因爲vbscript能夠對數據庫執行SQL查詢。

是否有一些額外的配置需要使用sqlcmd?

+0

如果您發佈的代碼,XML或數據樣本,** **請在高亮文本編輯器的線,然後單擊「代碼示例「編輯器工具欄上的按鈕(」{}「),以精確地格式化和語法突出顯示它! – 2011-02-22 19:59:54

+0

這屬於serverfault.com或superuser.com – 2011-02-22 20:18:46

+0

@Jim根據哪些標準? http://stackoverflow.com/faq``電腦愛好者和電力用戶「``?我把它保留在`#軟件工具常用的程序員的基礎上' – RichardTheKiwi 2011-02-22 20:21:49

回答

0

I know the SQL Native client is working properly since a vbscript was able to execute SQL queries against the database.

不,你不知道。您只知道某些客戶端正常工作,但不一定是SQL本機客戶端。

所有通往羅馬的道路http://www.connectionstrings.com/sql-server-2008(檢查提供者列表),但一個恰好被阻止。

只需從控制面板執行修復/修改設置,或者安裝另一個實例(確保安裝了本機客戶端),然後再次將其刪除。

14

我有同樣的錯誤。經過大量的搜索和重新安裝後,我檢查了我的路徑以尋找一些不相關的東西。由於我工作的軟件已經通過MSDE,2005年快過去了,現在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條目做出了響應,沒有問題。

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\ 

該路徑是用於SQL Server 2012

1

我也收到這個錯誤與的MS SQL Server 2014

Sqlcmd: Error: Connection failure. SQL Native Client is not installed correctly. To correct this, run SQL Server Setup.

首先,確認SQL服務器本機客戶端安裝。如MSDN所述,bcp.exe和SQLCMD.exe文件應位於以下目錄中。

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

如果文件不存在,你可以下載並從the Microsoft Download center,安裝客戶端使用任何ENU \ 86 \ sqlncli.msi或ENU \ 64 \ SQLNCLI。msiMSSQL 2014使用2012客戶端

完成此操作後,您應該可以使用SQLCMD而不會出現問題。我的機器上

Path環境變量中包含下列項目:

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\