none
C#中关于数据库连接的问题? RRS feed

  • 问题

  • 我在使用SQL Server 2005 和 VS 2008进行数据库编程时,遇到这样一个疑问:

    <appSettings>

    <add key="connection" value="Driver={SQL Server};Server=(local)\SQLEXPRESS;Trusted_Connection=Yes;Database=TimeCard">

    <add key="connection2" value="Driver={SQL Server};Server=mycomputer;Trusted_Connection=Yes;Database=TimeCard">

    </appSettings>

    ("mycomputer"是我的计算机名).  我用connection连接能够成功,但是用connection2却不能,这是为什么?

    2010年3月30日 5:39

答案

  • 因为server 需要给出SQL SERVER 的实例名,而不是计算机名。

    (local) 或者. 都代表本机,\SQLEXPRESS 是安装在本机的一个SQL SERVER 实例。 一台计算机可以部署多个SQL SERVER 实例。

    • 已标记为答案 leeTobill 2010年3月30日 6:03
    2010年3月30日 5:50
  • 你好!

    一个电脑上可以安装多个数据库实例,数据库实例又分默认与命名实例。默认实例和计算机名相同且可以用 IP 方法。命名实例采用 “computer_name\instance_name ” 这样的格式,也就是你第一个连接的实例名格式。你的问题就是在你的电脑上并没有安装默认数据库实例所以连接不上。


    知识改变命运,奋斗成就人生!
    • 已标记为答案 leeTobill 2010年3月30日 6:03
    2010年3月30日 5:58
    版主

全部回复

  • 因为server 需要给出SQL SERVER 的实例名,而不是计算机名。

    (local) 或者. 都代表本机,\SQLEXPRESS 是安装在本机的一个SQL SERVER 实例。 一台计算机可以部署多个SQL SERVER 实例。

    • 已标记为答案 leeTobill 2010年3月30日 6:03
    2010年3月30日 5:50
  • 你好!

    一个电脑上可以安装多个数据库实例,数据库实例又分默认与命名实例。默认实例和计算机名相同且可以用 IP 方法。命名实例采用 “computer_name\instance_name ” 这样的格式,也就是你第一个连接的实例名格式。你的问题就是在你的电脑上并没有安装默认数据库实例所以连接不上。


    知识改变命运,奋斗成就人生!
    • 已标记为答案 leeTobill 2010年3月30日 6:03
    2010年3月30日 5:58
    版主
  • 数据库默认实例?

    那我怎么安装默认数据库实例呢,是在数据库的安装包里吗?

    2010年3月30日 6:03
  • 在安装过程中有一个步骤是设置实例名的。
    知识改变命运,奋斗成就人生!
    2010年3月30日 6:16
    版主
  • 数据库默认实例?

    那我怎么安装默认数据库实例呢,是在数据库的安装包里吗?


    补充一下,在安装 SQL Server 时,有一个地方就是让你填实例名称的,它可以是命名实例 (如 .\SQLEXPRESS) 或者默认实例 (.\),如果是命名实例,直接用 computername\instancename 连接,如果是默认实例,直接用 computername 连接即可。
    Mark Zhou
    2010年3月30日 8:47
  • 数据库默认实例?

    那我怎么安装默认数据库实例呢,是在数据库的安装包里吗?


    补充一下,在安装 SQL Server 时,有一个地方就是让你填实例名称的,它可以是命名实例 (如 .\SQLEXPRESS) 或者默认实例 (.\),如果是命名实例,直接用 computername\instancename 连接,如果是默认实例,直接用 computername 连接即可。
    Mark Zhou
    2010年3月30日 8:47