我正在从我从存储库下载的代码库中工作,很可能是我缺少系统或本地设置。
在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在同一主机上。但在这里,没有。最初上载的项目在开发人员的计算机上有一个本地数据库。如果我添加.\
,我可以使连接工作,但我不明白如何只指定实例名称可以工作。那怎么样呢?
仅当您要连接到命名实例时才需要实例名称。
如果您的Sql Server安装没有创建命名实例,那么该实例的默认值是MSSQLSERVER
,您不需要在连接字符串上指定该部分。
但是,计算机名称部分是必需的,但它可以以各种形式表示
有关数据源密钥的更多信息可以在MSDN docs for ConnectionString上找到
可能是InstanceName是已配置目标服务器的ODBC数据源的名称,而其他员工是否设置了相应的ODBC数据源?
另一个选择是在传递给数据连接器之前修改了连接字符串,因此“MyMachineName”+ connectionstring正在某处发生(也许是为了分离生产和开发环境?
此外,仔细检查App_Data文件夹以确保未访问某种基于文件的数据库。
除了@Steve已经提到的本地或当前机器也可以通过特殊字符串引用localhost
。请参考以下帖子: