我尝试用EF连接到我的数据库(最近被移动到另一台服务器)。
服务器名称为:Server-PC
MSSQL:Microsoft SQL Server 2014-12.0.2000.8 版本
当我使用xp_regread sp:MSSQL12.MSSQLSERVER 获取实例名称时
我想在连接字符串中公布实例名称和服务器名称。这是我的连接字符串,我从这个链接得到了帮助
<add name="DefaultConnection" connectionString="data source= SERVER-PCMSSQL12.MSSQLSERVER; Initial Catalog=FoodDB;Integrated Security=True" providerName="System.Data.SqlClient" />
但当我运行该项目时,会发生以下错误:
错误:{"提供程序未返回ProviderManifestToken一串"}
从获取提供程序信息时出错数据库这可能是由于实体框架使用了不正确的连接字符串。检查内部异常以了解详细信息,并确保连接字符串是否正确。
有人能帮我一下吗?
注意:我想在连接字符串中同时使用服务器名称和实例名称(有意)。(假设实例不是默认的)
EF无法确定SQL Server存储版本:
-- Get Server name
SELECT @@servername
-- Get service name
SELECT @@servicename
MSSQL12.MSSQLSERVER=实例Id而非名称
<add name="DefaultConnection" connectionString="data source= .; Initial Catalog=FoodDB;Integrated Security=True" providerName="System.Data.SqlClient" />
或
<add name="DefaultConnection" connectionString="data source= SERVER-PC; Initial Catalog=FoodDB;Integrated Security=True" providerName="System.Data.SqlClient" />
注意:要连接到默认实例,您不指定实例名称,只指定服务器名称。MSSQLSERVER=默认名称