无法找到请求的.Net Framework数据提供程序.它可能没有安装.vs 2010和sql server 2008表达

ACo*_*ter 8 c# visual-studio-2010

在VS 2010中,我使用以下步骤连接到SQL Server数据库:

  1. 在服务器资源管理器窗口中,右键单击数据连接
  2. 单击添加连接
  3. 在选择数据源窗口中,选择SQL Server
  4. 单击继续,按钮
  5. 将出现"添加连接"窗口
  6. 在服务器名称文本框中键入".\ sqlexpress"
  7. 在select或enter数据库名称中输入"Person"
  8. 单击测试连接 - 我看到"测试连接成功"
  9. 最后单击OK按钮

在第9步,我看到这个错误:"无法找到所请求的.Net Framework数据提供程序可能无法安装"

Sam*_*ath 10

machine.config文件中有一个自终止节点.删除它解决了这个问题.

找到machine.config

\Windows\Microsoft.net\Framework\vXXXX\machine.config
Run Code Online (Sandbox Code Playgroud)

根据安装的框架版本数量,您可以拥有大量配置文件,包括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)

上面的文件删除 <DbProviderFactories/>空标记.

阅读其他内容获取DbProviderFactory(ADO.NET)

我希望这会对你有所帮助.