Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 错误175:找不到指定的数据存储提供程序_.net_Mysql_Visual Studio 2010_Entity Framework_Dataprovider - Fatal编程技术网

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

.net 错误175:找不到指定的数据存储提供程序,.net,mysql,visual-studio-2010,entity-framework,dataprovider,.net,Mysql,Visual Studio 2010,Entity Framework,Dataprovider,我正在使用VS2010和。我以前的项目已开始报告: 错误175:找不到指定的数据存储提供程序或该提供程序无效 我不知道为什么,不过在微软向VS推荐了一个修补程序之后,事情变得很奇怪 果不其然,如果要将测试ADO.NET实体数据模型添加到项目中,则在选择“从数据库生成”时,生成.edmx文件的实体数据模型向导不会显示数据提供程序。更糟糕的是,右键单击并尝试在现有的.edmx文件上执行“从数据库更新模型…”会将VS2010发送到对话框的死亡螺旋中,该对话框只能通过任务管理器终止 下面是我修复它的方法

我正在使用VS2010和。我以前的项目已开始报告:

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

我不知道为什么,不过在微软向VS推荐了一个修补程序之后,事情变得很奇怪

果不其然,如果要将测试ADO.NET实体数据模型添加到项目中,则在选择“从数据库生成”时,生成.edmx文件的实体数据模型向导不会显示数据提供程序。更糟糕的是,右键单击并尝试在现有的.edmx文件上执行“从数据库更新模型…”会将VS2010发送到对话框的死亡螺旋中,该对话框只能通过任务管理器终止

下面是我修复它的方法:关闭VS2010。完全卸载MySQL连接器。重新启动。完全安装MySQL连接器。重新启动。重新启动VS2010

突然,我的数据提供者出现了。我可以编译我的代码。以及添加test.edmx文件。向导会查看我的MySQL数据库,通过测试连接,并使用关系表构建对象模型。我可以随心所欲地清理/重建

在我运行应用程序之前,一切都很好。我的药方不起作用

此时会引发一个异常,说明连接对象返回null,如果我重新编译时没有代码更改,则会再次出现错误175。起泡,冲洗,重复

一些实例表明连接字符串是有效的,并且使用MySqlConnection对象,我可以访问数据库并在此状态下滚动我自己的工作查询

问题似乎在于,数据存储提供商不知何故迷失了方向或被踩了一脚,这影响了通过EntityFrameworks进行操作的能力

我正在寻找一些建议,关于在哪里寻找这些存储,如果有人遇到过类似的东西,如果有任何有用的建议或想法,你认为我可以尝试。

更新-虽然这个小贴士没有解决我的问题,但它确实使VS2010更稳定:在卸载.NET连接器后,我立即在“控制面板”下检查了已安装的程序,发现还安装了一个旧的.NET连接器。我从控制面板上卸载了它,重新启动,然后安装了新的。VS2010现在可以记住使用EntityFrameworks的数据库提供程序。显然,我安装了一个新的MySQL连接器,以为它会卸载旧的,相反,它们会互相攻击

现在,我在System.Data.Entity.dll中得到一个System.ArgumentException,说明了稍微不同的消息:

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

这发生在System.Data.Common.DbProviderFactorys.GetFactoryString providerInvariantName方法中


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

根据网络上的一些评论,这可能与供应商不在GAC中有关

也可能是一个旧版本是GAC


检查GAC中的内容,如果缺少dll,则将其添加到GAC中。在GAC中进行任何更改后重新启动计算机。

在重大更新后,问题消失了-看来这毕竟是一个环境/驱动程序错误。

在重新安装windows后,我也出现了同样的错误,忘记添加SQlite的提供程序。
虽然没有提到,但它完全支持VS2010。

我只需重新启动IDE即可修复错误。

我刚刚重新启动了VS2010,错误就消失了

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

决定更改连接的名称,并导致另一个错误,指定的命名连接在配置中找不到,不打算与EntityClient提供程序一起使用,或两者都使用。因此,我将其设置为后退,证明我确实使用了正确的app.config连接字符串,如前所述,它确实连接到数据库。直接在VS2010中进行了另一个实验:转到工具/连接到数据库…,按下更改…,选择MySQL数据库,然后从下面的.NET Framework数据提供程序中选择MySQL数据库,然后按OK。提供了localhost的服务器名、root的用户名和MySQL的密码。按测试连接报告测试连接成功。我按下OK。同时,数据库名称下拉列表仍然处于禁用状态,尽管
知道我有一个数据库,如果我按OK,我会弹出一个“找不到请求的.Net Framework数据提供程序”的窗口。它可能没有安装。全部卸载MySQL-数据库、工作台、连接器。然后重新安装最新和最好的版本。没有变化。错误175仍然出现。我非常怀疑存在配置问题,但不确定应该在哪里查找。这可能与此相关-添加.edmx会导致machine.config的MySQL条目被破坏:使用MySQL 6.3 Connector for VS2010是否只需要使用.NET 4,请参阅底部的感谢!工作得很有魅力。