我尝试使用EF连接到我的数据库(最近移动到另一台服务器)。
服务器名称是:SERVER-PC
MSSQL版本:Microsoft SQL Server 2014 - 12.0.2000.8
使用xp_regread获取实例名称sp:MSSQL12.MSSQLSERVER
我想在连接字符串中同时添加实例名称和服务器名称。 这是我从this link
获得帮助的连接字符串<add name="DefaultConnection" connectionString="data source= SERVER-PC\MSSQL12.MSSQLSERVER; Initial Catalog=FoodDB;Integrated Security=True" providerName="System.Data.SqlClient" />
但是当我运行项目时,会发生以下错误:
错误:{&#34;提供商未返回ProviderManifestToken 。字符串&#34;}
从中获取提供者信息时发生错误 数据库。这可能是由实体框架使用不正确引起的 连接字符串。检查内部异常以获取详细信息并确保 连接字符串是正确的。
有人可以帮我一个忙吗?
注意:我想在连接字符串中同时使用服务器名称和实例名称(有意)。 (假设实例不是默认值)
答案 0 :(得分:0)
EF无法确定SQL Server商店版本:
-- Get Server name
SELECT @@servername
-- Get service name
SELECT @@servicename
<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 =默认名称