Question

Working on a common codebase, one developer is running SQL Server Express 2005 and the other 2 are running SQL Server 2005. Everything is working fine, but the connection strings differ. To maintain common configuration and build scripts we're looking to mask "localhost\sqlexpress" to just "localhost" like the other 2 developers.

Can this be done? Or, maybe there's a better way for all 3 to run on the same connection string... The solution sought is for all 3 to be able to run on the same file versions in the code repository.

I might not be 100% clear: basically I want this:

Data Source=localhost;Initial Catalog=Sample;Integrated Security=True

to connect the exact same as this:

Data Source=localhost\sqlexpress;Initial Catalog=Sample;Integrated Security=True

If at all possible.

Was it helpful?

Solution

Just tested things out and got it working.

sql express doesnt enable tcp/ip by default and when enabled doesnt use the default port 1433.

to make this happen you need to open up "Sql server configuration manager" then under protocols enable tcp/ip. after that double click "tcp/ip", select the "IP Addresses" tab and scroll to the bottom then blank the "TCP Dynamic Ports" and enter 1433 under TCP Port.

after all that restart the sql server service and it should work with the normal connection string.

OTHER TIPS

You can name SQL Server instances to anything you want. I'm pretty sure you can do it in SQL Express as well, so just name the instance, on each machine, to the same name, then you can just use localhost\<name>.

Or even better, don't hardcode the database name. Load it from some machine or user-specific setting (registry, config file, whatever suits your fancy :) ).

This topic is dead and buried, I'm sure... But incase this also helps someone:

"one developer is running SQL Server Express 2005 and the other 2 are running SQL Server 2005"

When they installed, chances are the instance was named MSSQLSERVER. When you installed, chances are the instance was named SQLEXPRESS. MSSQLSERVER works as localhost out of the box, SQLEXPRESS does not. You can get round this in SQL Server Express by renaming SQLEXPRESS to MSSQLSERVER on install, for future reference.

John's solution is obviously cleaner.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top