【发布时间】:2011-01-29 07:42:29
【问题描述】:
我使用.mdf 连接到database 和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="Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\NData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True"" 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="Data Source=.\SQL2008;Initial Catalog=NData;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
因为我总是得到错误:
底层提供程序在打开时失败
【问题讨论】:
-
当我尝试在 IIS 下运行时,我遇到了同样的问题。如果我在 VS Server 中运行,我不会收到任何错误。
-
我遇到了同样的问题并从连接字符串中删除了
Integrated Security,创建了一个用户并确保他们拥有sysadmin权限并将该用户添加到连接字符串中。 -
您的数据库位于何处,如果它位于 IIS 上托管的应用程序上,您应该将您的数据库放在 App_Data 文件夹中并编辑 Entityframework 模型生成的连接字符串以在那里查找它。 stackoverflow.com/questions/9809442/…
-
我遇到了这个问题,通过在连接字符串中插入密码解决了。
-
在 IIS 下运行时只需删除集成安全对我有用
标签: c# sql-server entity-framework database-connection