我正在使用带有MySQL .NET Connector的VS2010。我以前工作的项目开始报告:
错误175:找不到指定的数据存储提供程序,或者无效。
我不知道为什么,虽然在MS建议的修补程序VS之后事情变得奇怪。
果然,如果我将测试ADO.NET实体数据模型添加到项目中,当我选择“从数据库生成”时,生成.edmx文件的实体数据模型向导不会显示数据提供者。更糟糕的是,右键单击并尝试在现有的.edmx文件上执行“从数据库更新模型...”会将VS2010发送到死亡螺旋形的对话框中,只能通过任务管理器终止。
以下是我修复方法:关闭VS2010。完全卸载MySQL Connector。重启。完全安装MySQL连接器。重启。重启VS2010。
突然间,我的数据提供者存在。我可以编译我的代码。以及添加测试.edmx文件。向导会看到我的MySQL数据库,传递测试连接,并使用我的关系表构建对象模型。我可以尽可能多地清理/重建。
在我运行应用程序之前一切都很好。我的“修复”并不坚持。
此时抛出异常,指出连接对象返回null,如果我重新编译而没有更改代码,则会再次出现Error 175错误。泡沫,冲洗,重复。
一些experiments based off of this StackOverflow answer,显示连接字符串有效,并使用MySqlConnection对象我可以访问数据库并滚动我自己的工作查询这个州。
问题似乎是数据存储提供商以某种方式迷路或踩到了,这影响了通过EntityFrameworks做事的能力。
我正在寻找一些关于在哪里寻找这些存储的建议,如果有人遇到类似的东西,如果有任何有用的建议或想法,你认为我可能会尝试。
更新 - 虽然这个花絮没有解决我的问题,但是确实让VS2010更稳定:卸载.NET Connector后,立即检查了控制面板安装程序,发现还安装了较旧的.NET Connector。我从控制面板上卸下了一个,重新启动,然后安装了新的。 VS2010现在记住了使用EntityFrameworks 的数据库提供程序。显然我安装了一个更新的MySQL连接器,认为它会卸载旧的连接器,而不是相互重叠。
现在我在System.ArgumentException
内System.Data.Entity.dll
说明了稍微不同的消息:
在配置中找不到指定的商店提供商,或者无效。 System.ArgumentException:无法找到请求的.Net Framework数据提供程序。 它可能没有安装。
这种情况发生在System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
方法。
修订说明 - 上述罢工的原因是VS2010最终再次失去了设置。但我能够从控制面板卸载.Net连接器并重新安装连接器,无需重新启动,并在环境中重新启动数据提供程序。问题的这一部分更像是VS2010错误,而不是.NET连接器问题。
答案 0 :(得分:4)
重新安装Windows后忘记为SQlite添加提供程序时出现同样的错误 它是here,即使它没有提到它,它也完全支持VS 2010。
答案 1 :(得分:1)
重大更新后问题消失了 - 毕竟它似乎是一个环境/驱动程序错误。
答案 2 :(得分:1)
我刚刚重启VS2010,错误就消失了!!
答案 3 :(得分:0)
根据网上的一些评论,这可能与提供商不在GAC中有关。
也可能是旧版本是GAC。
检查GAC中的内容,如果缺少该dll,请将其添加到GAC。在GAC中进行任何更改后重新启动计算机。
答案 4 :(得分:0)
我只是通过重新启动IDE来修复错误。
答案 5 :(得分:0)
我最近遇到了这个错误,经过多次重新启动/重新安装后发现问题实际上是'连接器'用户在视图上没有足够的权限。