指定的SQL Server连接字符串没有计算机名?怎么可能呢
本文关键字:计算机名 怎么可能 字符串 SQL Server 连接 | 更新日期: 2023-09-27 17:59:04
我使用的是从存储库下载的代码库,可能缺少系统或本地设置。
在Web.Config中,我有一个连接字符串:
<add name="Context"
connectionString="Data Source=InstanceName;
Initial Catalog=MyProduct;
Integrated Security=True;
Connect Timeout=15;
Encrypt=False;
TrustServerCertificate=False"
providerName="System.Data.SqlClient" />
(压痕矿)
通常,如果SQL Server在同一主机上,我会期望Data Source
为''ComputerName'InstanceName
或至少为.'InstanceName
。但在这里,什么都没有。最初上传的项目在开发人员的机器上有一个本地数据库。如果添加.'
,我可以使连接正常工作,但我不明白仅指定实例名称是如何工作的。那么,怎么可能呢?
只有当您想连接到命名实例时,才需要实例名称
如果Sql Server的安装没有创建命名实例,则该实例的默认值为MSSQLSERVER
,并且不需要在连接字符串中指定该部分。
然而,计算机名称部分是必需的,但它可以用各种形式的表示
- 表示本地计算机的点
- IP地址(本地或非本地)
- 局域网的DNS系统识别的服务器名称
- 特殊字符串(LOCAL)
有关数据源密钥的更多信息,请参阅ConnectionString 的MSDN文档
InstanceName是否是已经配置了目标服务器的ODBC数据源的名称,而其他员工是否设置了相应的ODBC数据来源?
另一种选择是在将连接字符串传递到数据连接器之前对其进行修改,因此"MyMachineName"+连接字符串发生在某个地方(可能是为了分离生产和开发环境?
此外,请仔细检查App_Data文件夹,以确保没有访问某种基于文件的数据库。
除了@Steve已经提到的之外,本地或当前机器还可以由一个特殊的字符串localhost
引用。请参阅以下帖子:
使用Windows身份验证或sql身份验证访问localhost''SQLEXPRESS需要使用什么sql连接字符串?