使用公共代码库,一个开发人员运行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
如果可能的话。
答案 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的解决方案显然更清晰。