代码之家  ›  专栏  ›  技术社区  ›  Chris Missal

仅使用localhost指向localhost\sqlexpress

  •  25
  • Chris Missal  · 技术社区  · 16 年前

    在通用代码库上,一个开发人员运行的是SQL Server Express 2005,另两个开发人员运行的是SQL Server 2005。一切正常,但连接字符串不同。为了维护公共配置和构建脚本,我们希望屏蔽 “本地主机\sqlexpress” 只是 “本地主机” 像其他两个开发者一样。

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

    我可能不完全清楚:基本上我想要这个:

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

    要连接与此完全相同的:

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

    如果可能的话。

    3 回复  |  直到 11 年前
        1
  •  54
  •   John Boker    16 年前

    只是测试了一下,然后开始工作。

    默认情况下,SQL Express不启用TCP/IP;启用时,不使用默认端口1433。

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

    在所有这些操作之后,重新启动SQL Server服务,它应该与正常的连接字符串一起工作。

        2
  •  0
  •   Danut Enachioiu    16 年前

    您可以根据需要将SQL Server实例命名为任何名称。我很确定您也可以在SQL Express中执行此操作,因此只需将每台计算机上的实例命名为相同的名称,然后就可以使用localhost\<name>。

    或者更好的是,不要硬编码数据库名称。从一些特定于机器或用户的设置(注册表、配置文件、任何适合您的设置:)中加载它。

        3
  •  0
  •   Tom Tom    11 年前

    我敢肯定,这个话题是死气沉沉的……但如果这也有助于某人:

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

    安装时,很可能实例名为mssqlserver。安装时,很可能实例名为sqlexpress。MSSQLServer作为本地主机开箱即用,而SQLExpress不起作用。您可以通过在安装时将sql express重命名为mssqlserver来在SQL Server Express中绕过此问题,以供将来参考。

    约翰的解决方案显然是更干净的。