Search code examples
sql-server-2005sqlcmd

Getting connectivity error when using :connect command in sqlcmd, but not when doing command line connect


I'm just starting out with sqlcmd on SQL Server 2005, enterprise edition.

I can connect to my server fine, from the command line:

sqlcmd -SSQLSERVERNAME -Q"select test=1"

However, when I create a junk.sql file that has just this one line:

:connect -SSQLSERVERNAME

...and try to run it by running the following at the command line:

sqlcmd -i C:\junk\junk.sql

...I can't even connect - I get this error:

Named Pipes Provider: Could not open a connection to SQL Server [2]. Sqlcmd: Error: Microsoft SQL Native Client : An error has occurred while establishing a connection to the server. When c onnecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.. Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired.

From what I read, I thought that using the connect command should work. Am I just using it incorrectly? What I'd like to do is connect in the sql file using the connect command (eventually using variables for different servers) and then run different sql files using the :r command

Thoughts?

thanks, Sylvia


Solution

  • The :connect command does not need the -S switch, just use

    :connect "SQLSERVERNAME"