C# WCF&;实体框架及;SQL Server-“SQL Server”;基础提供程序在打开时失败";
我正在通过WCF测试客户机成功地运行测试,直到我尝试使用实体框架拉入数据 为了确保我没有做任何愚蠢的事情,我下载了本教程中的示例代码,它也做了类似的事情: …当我运行它时,我在类似的地方得到相同的错误:C# WCF&;实体框架及;SQL Server-“SQL Server”;基础提供程序在打开时失败";,c#,sql-server,visual-studio,wcf,entity-framework,C#,Sql Server,Visual Studio,Wcf,Entity Framework,我正在通过WCF测试客户机成功地运行测试,直到我尝试使用实体框架拉入数据 为了确保我没有做任何愚蠢的事情,我下载了本教程中的示例代码,它也做了类似的事情: …当我运行它时,我在类似的地方得到相同的错误: var productEntity = (from p in context.ProductEntities where p.ProductID == id select p).FirstOrDefault()
var productEntity = (from p in context.ProductEntities
where p.ProductID == id
select p).FirstOrDefault();
错误是
基础提供程序在打开时失败
我可以使用相同的连接字符串从“普通应用程序”中打开数据库,这似乎是从WCF测试客户端访问数据库的特定操作
在这里和谷歌上对“基础提供商在Open上失败”的研究表明这是一个连接字符串问题,但我很确定这不是在这种情况下
所以现在我想这是某种权限问题
我使用的是SQL Server和Windows 7以及visual studio 2010
我从昨天起就一直在磕头,所以任何帮助或保护性头套都非常感谢
编辑以包括连接字符串
<add name="NorthwindEntities"
connectionString="metadata=res://*/Northwind.csdl|res://*/Northwind.ssdl|res://*/Northwind.msl;provider=System.Data.SqlClient;provider
connection string="Data Source=localhost;Initial Catalog=Northwind;User ID=sa;MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
此错误意味着您的连接字符串100%有问题 创建正常工作的连接字符串的一个好方法是创建一个新的(虚拟)项目,向其中添加实体框架数据模型,选择“从数据库生成模型”,选择所需的连接,然后单击“测试连接”以确保其正常工作。
确保勾选了“将App.Config中的实体连接设置另存为:…”。
然后,在web/app.Config中,您有一个连接字符串,可以复制并粘贴到您自己的项目中您是否尝试将数据库密码插入连接字符串中? 这对我有用 参考:
好吧,我有好几天都犯同样的错误……实际上有两天,是的,我找到了解决办法 至于我…我在实体服务连接上设置了Windows身份验证..所以我所做的是转到web服务的IIS 7应用程序池高级设置..将标识从“ApplicationPoolIdentity”更改为“Network Service”,并设置了当前用户名和密码
稍后我可能会面临一些其他问题,但我仍然会说一个良好的开端:-)!我删除了“integrated security=True;通过这种方式解决。您可以共享您的连接字符串吗?您有“删除数据库”功能吗“是否启用初始值设定项并同时打开MS SQL Management Studio?这会导致这样的异常,因为在这种情况下您不能删除数据库,并且EF失败。@flipchart-我已经编辑了上面的内容以添加内容that@UrbanEsc-我不太明白你在说什么,所以我关闭了sql server studio并再次尝试,但没有成功。谢谢。连接字符串没有
sa
用户的密码。请注意,基础提供程序在打开时失败也可能是因为授权问题。内部异常将声明是否存在这种情况。可能出现这种情况的一个例子是,UAC打开,数据文件存储在程序文件目录中代码>问题中的任何地方。你能详细说明并使你的答案清晰易懂吗?你应该删除内部加密并添加用户ID和密码。这是我的连接字符串: