没有计算机名指定的SQL Server连接字符串?怎么可能?

问题描述 投票:3回答:3

我正在从我从存储库下载的代码库中工作,很可能是我缺少系统或本地设置。

在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" />

(压痕矿)

通常我会期望Data Source\\ComputerName\InstanceName或至少.\InstanceName如果SQL Server在同一主机上。但在这里,没有。最初上载的项目在开发人员的计算机上有一个本地数据库。如果我添加.\,我可以使连接工作,但我不明白如何只指定实例名称可以工作。那怎么样呢?

c# sql-server sql-server-2012 connection-string
3个回答
3
投票

仅当您要连接到命名实例时才需要实例名称。 如果您的Sql Server安装没有创建命名实例,那么该实例的默认值是MSSQLSERVER,您不需要在连接字符串上指定该部分。

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

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

有关数据源密钥的更多信息可以在MSDN docs for ConnectionString上找到


1
投票

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

另一个选择是在传递给数据连接器之前修改了连接字符串,因此“MyMachineName”+ connectionstring正在某处发生(也许是为了分离生产和开发环境?

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


0
投票

除了@Steve已经提到的本地或当前机器也可以通过特殊字符串引用localhost。请参考以下帖子:

What is the sql connection string I need to use to access localhost\SQLEXPRESS with Windows Authentication or SQL Authentication?

© www.soinside.com 2019 - 2024. All rights reserved.