
December 11th, 2003, 02:18 PM
|
|
Junior Member
|
|
Join Date: Dec 2003
Posts: 1
Time spent in forums: < 1 sec
Reputation Power: 0
|
|
|
Using "localhost" vs "(local)" to connect
In some C# code, I use a SQLConnection object to connect to SQL Server. On my development and QA machines, the connection string is:
"Initial Catalog=<db name>;Data Source=localhost;Integrated Security=SSPI;"
It works perfectly. However, the same code failed when run in production with the error:
"General network error. Check your network documentation."
After much researching and trial & error, I changed the Data Source in the connection string from "localhost" to "(local)". That is:
"Initial Catalog=<db name>;Data Source=(local);Integrated Security=SSPI;"
Wow, it worked.
The $64 question is WHY??? My only guess is that "localhost" is a TCP/IP (127.0.0.1) address, so the connection is made through the TCP/IP connector, whereas "(local)" goes through named pipes. But this is a complete guess!!! And even if true, why would "localhost" fail? (I installed SQL Server in all environments exactly the same way.)
Any help would be much appreciated.
Thanks!
|