错误175:找不到指定的数据存储提供程序

时间:2010-12-14 22:03:37

标签: .net mysql visual-studio-2010 entity-framework dataprovider

我正在使用带有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.ArgumentExceptionSystem.Data.Entity.dll说明了稍微不同的消息:

  

在配置中找不到指定的商店提供商,或者无效。   System.ArgumentException:无法找到请求的.Net Framework数据提供程序。   它可能没有安装。

这种情况发生在System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)方法。

修订说明 - 上述罢工的原因是VS2010最终再次失去了设置。但我能够从控制面板卸载.Net连接器并重新安装连接器,无需重新启动,并在环境中重新启动数据提供程序。问题的这一部分更像是VS2010错误,而不是.NET连接器问题。

6 个答案:

答案 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)

我最近遇到了这个错误,经过多次重新启动/重新安装后发现问题实际上是'连接器'用户在视图上没有足够的权限。