I'm trying to connect to a SQL Server 2008 R2 Express database using a Linq DataContext. The database engine is running on another machine in the local network. We are using SQL authentication, for the time being. SQL Server is set up to allow remote connections.
My connection string looks like this, and works fine. I haven't specified the instance, but it's the only one, so I guess it is chosen by default:
Data Source=192.168.1.50;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;
I've installed the same engine locally too, and this connection string works too:
Data Source=localhost;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;
So does this one, connecting locally:
Data Source=.\SQLEXPRESS;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;
So what if there are multiple instances of the engine running on a remote computer, and I want to specifically refer to an instance?
Data Source=192.168.1.50\SQLEXPRESS;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;
The above connection string yields
Error connecting to database: A network-related or instance-specific error occur red while establishing a connection to SQL Server. The server was not found or w as not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, er ror: 26 - Error Locating Server/Instance Specified)
Why doesn't this work? I can't find any examples of a connection string connecting to a particular instance on a remote database engine.