无法在Visual Studio 2010 Professional中找到请求的.Net Framework数据提供程序

cbm*_*eks 32 .net asp.net ado.net datasource visual-studio-2010

在尝试在Visual Studio 2010 Professional中设置新数据源时,为什么会出现"无法找到所请求的.Net Framework数据提供程序"?

我的统计数据:

  • Windows 7 64位16 GB内存
  • Visual Studio 2010 Professional
  • SQL Server 2008(服务器A,完全管理员权限)
  • SQL Server 2008(服务器B,完全管理员权限)

我已经开始测试ASP.NET应用程序,当我尝试添加新的数据源时,我得到:

无法找到请求的.Net Framework数据提供程序.它可能没有安装.

我安装了.NET 4.

当我构建连接并单击"测试连接"时,它测试成功.SQL Server Management Studio连接得很好,我已经验证了所有内容的凭据.

Mik*_*ike 58

我在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>
Run Code Online (Sandbox Code Playgroud)

  • 工作!!!!!! 谢谢!!我实际上早些看到了,但我没有想要删除那个"删除这个!"副本.另外,我有四个machine.config文件.一个在版本2和版本4中用于32和64位.我不得不改变这四个.非常感谢!100000 (4认同)
  • 关于我的修复的注意事项 - 即使我的机器是64位的.NET框架4 - >它是在.NET 2下的machine.config中删除IBM.Data.DB2 ...引用修复了SQL Server Mgmt Studio的错误 (3认同)

Bob*_*non 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>
Run Code Online (Sandbox Code Playgroud)

  • 另外值得注意的是,如果在机器上安装了不同版本的provider*,则需要在上面的代码片段中添加一个`<remove invariant ="MySql.Data.MySqlClient"/>`. (3认同)
  • 有些项目类型没有“web.config”。 (2认同)

小智 8

这对我有用谢谢。我在安装 .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>
Run Code Online (Sandbox Code Playgroud)