sqlcmd won't run - Is this a config issue?

nuit9 picture nuit9 · Feb 22, 2011 · Viewed 22.8k times · Source

I'm trying to use sqlcmd to execute some SQL scripts.

Using a test command with a simple query like:

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

sqlcmd does not appear to make any attempt to connect to the server as it displays this message:

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

The native client was presumably installed as part of the SQL Server setup and likely correctly. I actually get this message on any machine with SQL server installed trying to use sqlcmd so it's not a matter of the installation being corrupt.

Unfortunately the message really tells me nothing about the problem so I don't know what the real issue is. I know the SQL Native client is working properly since a vbscript was able to execute SQL queries against the database.

Is there some additional configuration needed to use sqlcmd?

Answer

The HomusOnline picture The HomusOnline · Aug 7, 2011

I had the same error. After a lot of searching and reinstalling, I checked my PATH for something unrelated. As the software I work on has gone through MSDE, 2005 Express and now 2008 Express R2, my PATH statement had these entries:

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\

I removed the 80 and 90 entries and stopped receiving the error. I tested and the install of 2005 Express still responded to the SQLCMD entry without issues.