仅使用localhost指向localhost \ sqlexpress

时间:2009-01-16 05:40:24

标签: sql-server-2005 connection-string sql-server-express

使用公共代码库,一个开发人员运行SQL Server Express 2005,另外两个运行SQL Server 2005.一切正常,但连接字符串不同。为了维护常见配置和构建脚本,我们希望将“localhost \ sqlexpress”掩盖到“localhost”,就像其他2位开发人员一样。

可以这样做吗?或者,也许有一个更好的方法让所有3个在同一个连接字符串上运行...所寻求的解决方案是所有3个能够在代码存储库中的相同文件版本上运行。

我可能不是100%明确:基本上我想要这个:

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

连接完全相同:

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

如果可能的话。

3 个答案:

答案 0 :(得分:55)

只是测试了一些东西并使其正常工作。

sql express默认启用tcp / ip,启用时不使用默认端口1433.

要实现这一点,您需要打开“Sql server配置管理器”,然后在协议下启用tcp / ip。双击“tcp / ip”后,选择“IP地址”选项卡并滚动到底部,然后清空“TCP动态端口”并在TCP端口下输入1433。

重新启动sql server服务之后,它应该使用正常的连接字符串。

答案 1 :(得分:0)

您可以将SQL Server实例命名为您想要的任何内容。我很确定你也可以在SQL Express中实现它,所以只需在每台机器上将实例命名为相同的名称,然后你就可以使用localhost \< name>。

甚至更好,不要硬编码数据库名称。从某些机器或用户特定的设置(注册表,配置文件,任何适合您的想法:)加载它。)。

答案 2 :(得分:0)

这个话题已经死了,我确定......但是这也有助于某人:

“一位开发人员正在运行SQL Server Express 2005,另外两位正在运行SQL Server 2005”

安装后,实例可能被命名为MSSQLSERVER。安装时,实例可能名为SQLEXPRESS。 MSSQLSERVER作为localhost开箱即用,而SQLEXPRESS则不然。您可以通过在安装时将SQLEXPRESS重命名为MSSQLSERVER来在SQL Server Express中解决此问题,以备将来参考。

John的解决方案显然更清晰。