MSSQL错误:“底层提供程序打开失败”

245

我之前在使用.mdf文件连接数据库entityClient,现在我想要更改连接字符串,以便不再使用.mdf文件。

以下的connectionString是否正确?

<connectionStrings>
   <!--<add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\NData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />-->
   <add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQL2008;Initial Catalog=NData;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

因为我总是遇到以下错误:

底层提供程序在打开时失败


2
当我尝试在IIS下运行时,我遇到了同样的问题。如果我在VS服务器中运行,则不会出现错误。 - Zote
14
我遇到了相同的问题并从连接字符串中删除了 Integrated Security,创建了一个用户并确保他们拥有 sysadmin 权限,并将该用户添加到连接字符串。 - fulvio
我曾经遇到过这个问题,后来通过在连接字符串中插入密码解决了它。 - satyrFrost
当我在IIS下运行时,简单地移除集成安全性就解决了我的问题。 - Jon
另请参阅:https://dev59.com/f2035IYBdhLWcg3wcvqS#5416812 - 可能您没有像我一样创建数据库 :( - VMAtm
显示剩余2条评论
31个回答

-1
你可以尝试替换元数据:

metadata=res:///conString.csdl|res:///conString.ssdl|res://*/conString.msl

至:

metadata=res://*/;


2
但是为什么呢?有什么好处吗?为什么那是解决方案? - Christian Payne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接