基本上我正在使用 ASP.NET MVC4 开发一个网站,在创建模型时,我需要先建立与数据库的连接
当我选择数据库名称7CH3LM1
(下拉列表中的默认名称)时,它说:
无法连接到数据库
但是当我写喜欢7CH3LM1\SQLEXPRESS
,它让我通过了
这让我想起了一个问题:这背后的真正区别是什么?是什么意思7CH3LM1
以及添加的意义SQLEXPRESS
何在?
任何想法都非常受欢迎!
基本上我正在使用 ASP.NET MVC4 开发一个网站,在创建模型时,我需要先建立与数据库的连接
当我选择数据库名称7CH3LM1
(下拉列表中的默认名称)时,它说:
无法连接到数据库
但是当我写喜欢7CH3LM1\SQLEXPRESS
,它让我通过了
这让我想起了一个问题:这背后的真正区别是什么?是什么意思7CH3LM1
以及添加的意义SQLEXPRESS
何在?
任何想法都非常受欢迎!
7CH3LM1
是您的计算机名称,它有助于识别您正在连接的 SQL Server实例。在这种情况下,您将连接到运行 Express Edition 的 SQL Server 的命名实例,其实例名称为SQLEXPRESS
. 一台机器可以同时运行多个 SQL Server 实例,它可以有一个默认实例和 0、1 或多个命名实例。要连接到默认实例,您将使用7CH3LM1
,而要连接到命名实例,您将使用7CH3LM1\<instance name>
,就像使用 一样7CH3LM1\SQLEXPRESS
。
我通常将我的机器重命名为更令人难忘和更有意义的东西,因为这可以让事情变得更容易,但这只是我。
SQL Server的一个实例可以包含许多数据库。您也可以在连接字符串中指定数据库(推荐),或者您可以依靠登录名的默认数据库来定义初始上下文(不推荐,因为该数据库可能处于脱机状态、单用户、分离等 - 这将影响您的登录能力)。
最终,您的软件将需要实例和数据库才能读取/写入数据。
你在谈论一个实例名称。SQL 服务器的多个实例可以存在于同一台计算机上。如果您不指定实例,您将连接到机器上 SQL Server 的 DEFAULT 实例(可能存在也可能不存在)。当您指定一个(在“\”之后)时,它被称为 NAMED 实例。
您可以在此处阅读有关实例的更多信息:msdn.microsoft.com/en-us/library/hh231298.aspx
总之,在 MSSQL 服务器上选择实例的语法表示为
SERVERNAME\INSTANCENAME
或对于 DEFAULT 实例:
SERVERNAME
而且,就个人而言,我认为 SQL 2000 的文档更容易阅读有关 DEFAULT 与 NAMED 实例的内容。你可以在这里找到它们:http: //msdn.microsoft.com/en-us/library/aa174516 (v=sql.80).aspx