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