我使用。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" />

因为我总是得到错误:

基础提供程序在Open上失败


当前回答

context.Connection.Open()没有帮助解决我的问题,所以我尝试在DTC配置中启用“允许远程客户端”,没有更多的错误。

在windows 7中,您可以通过运行dcomcnfg,组件服务->计算机->我的计算机->分布式事务协调器->右键单击本地DTC ->安全来打开DTC配置。

其他回答

几天前我也遇到了同样的问题,在连接字符串中使用“Integrated Security=True;”,你需要在“localsystem”下运行应用程序池标识。当然,不建议这样做,但对于测试来说,它可以完成工作。

这是在iis7中更改身份的方法: http://www.iis.net/learn/manage/configuring-security/application-pool-identities

如果你碰巧在ASP上得到这个错误。NET web应用程序,除了上面提到的其他事情,检查以下内容:

数据库用户安全权限(允许用户访问数据库。 检查IIS中的应用程序池,确保它是允许访问数据库的正确应用程序池。

对我来说,这只是一个简单的错误:

我使用Amazon EC2,我在连接字符串中使用了我的弹性IP地址,但是当我更改IP地址时,我忘记更新我的连接字符串。

我有这个问题,因为应用程序池登录这个应用程序正在运行下已经改变。

在IIS:

通过单击站点并进入基本设置来查找应用程序池。 进入应用程序池。 单击站点的应用程序池。 单击高级设置。 在“身份”中输入帐号登录名和密码。 重新启动站点并重试。

我在Windows Server 2003上的SQL Server Express Edition遇到了类似的问题。我只是在数据库安全性中以用户身份添加了网络服务。