指定的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连接字符串没有计算机名?怎么可能呢

只有当您想连接到命名实例时,才需要实例名称
如果Sql Server的安装没有创建命名实例,则该实例的默认值为MSSQLSERVER,并且不需要在连接字符串中指定该部分。

然而,计算机名称部分是必需的,但它可以用各种形式的表示

  1. 表示本地计算机的点
  2. IP地址(本地或非本地)
  3. 局域网的DNS系统识别的服务器名称
  4. 特殊字符串(LOCAL)

有关数据源密钥的更多信息,请参阅ConnectionString 的MSDN文档

InstanceName是否是已经配置了目标服务器的ODBC数据源的名称,而其他员工是否设置了相应的ODBC数据来源?

另一种选择是在将连接字符串传递到数据连接器之前对其进行修改,因此"MyMachineName"+连接字符串发生在某个地方(可能是为了分离生产和开发环境?

此外,请仔细检查App_Data文件夹,以确保没有访问某种基于文件的数据库。

除了@Steve已经提到的之外,本地或当前机器还可以由一个特殊的字符串localhost引用。请参阅以下帖子:

使用Windows身份验证或sql身份验证访问localhost''SQLEXPRESS需要使用什么sql连接字符串?

相关文章: