在尝试在Visual Studio 2010 Professional中设置新数据源时,为什么会出现“无法找到请求的.Net Framework数据提供程序”?
我的统计数据:
我已经启动了测试ASP.NET应用程序,当我尝试添加新数据源时,我得到:
无法找到请求的.Net Framework数据提供程序。它可能没有安装。
我安装了.NET 4。
当我构建连接并单击“测试连接”时,它测试成功。 SQL Server Management Studio连接得很好,我已经验证了所有内容的凭据。
答案 0 :(得分:56)
我在machine.config文件中看到过有人和其他自终止节点的报告。删除它解决了他们的问题。 machine.config位于\Windows\Microsoft.net\Framework\vXXXX\Config
。根据安装的框架版本数量,您可以拥有大量配置文件,包括32位和64位变体。
<system.data>
<DbProviderFactories>
<add name="Odbc Data Provider" invariant="System.Data.Odbc" ... />
<add name="OleDb Data Provider" invariant="System.Data.OleDb" ... />
<add name="OracleClient Data Provider" invariant="System.Data ... />
<add name="SqlClient Data Provider" invariant="System.Data ... />
<add name="IBM DB2 for i .NET Provider" invariant="IBM.Data ... />
<add name="Microsoft SQL Server Compact Data Provider" ... />
</DbProviderFactories>
<DbProviderFactories/> //remove this one!
</system.data>
答案 1 :(得分:13)
我喜欢其他建议,但我宁愿不为单个应用程序更新machine.config。我建议你只需将它添加到web.config / app.config。这是我需要使用我“bin”部署的MySql Connector / NET。
<system.data>
<DbProviderFactories >
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
答案 2 :(得分:3)
在我的情况下,MySQL的数据提供程序条目在上面描述的machine.config文件中“简单地”丢失了(虽然我已经正确安装了MySQL连接器)
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
不要忘记在条目
上放置正确的MySQL版本答案 3 :(得分:1)
我在版本6.7.4中遇到此问题,并通过安装6.5.6版本解决了这个问题。
我的设置是Win 2008 R2 SP1数据中心版,带有Business Intelligence Development Studio的SQL Server 2008 R2(VS2008)。非常基本的安装。
当我安装6.7.4时,我甚至无法将MySQL提供程序视为一种选择。但是,当我查看machine.config文件时,我看到了MySQL角色提供程序等的引用,但是没有添加任何条目。
答案 4 :(得分:1)
我认为我的问题是由于我的machine.config每个答案我在网上找到但是罪魁祸首证明是在项目的web.config中清除了DbProviderFactories。
<system.data>
<DbProviderFactories>
<clear />
...
</DbProviderFactories>
</system.data>
答案 5 :(得分:0)
对我有用,谢谢。安装.Net Framework 4.7.1时遇到了这个问题,机器配置中DbProviderFactories
下的System.Data
设置被清除掉了。在添加了必要的配置设置后,它开始工作,如下所示DataProviderFactories
<system.data>
<DbProviderFactories>
<add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>
答案 6 :(得分:0)
解决了。使用nuget并搜索“ ODP.NET,托管驱动程序” invariant =“ Oracle.ManagedDataAccess.Client”。
并安装该软件包。会为我解决问题。
答案 7 :(得分:0)
我在Visual Studio 2019中遇到了同样的问题,并且通过在Visual Studio内部的搜索栏中搜索来解决:管理NuGet软件包> oracle.ManagedDataAccess(第一个结果)安装它。然后它应该可以工作!