Visual Studio 2010添加连接对话框而不填充数据库

时间:2010-08-17 15:10:12

标签: visual-studio-2010 dataprovider

我已经安装了Visual Studio 2010和SQL Server 2008(在64位Windows 7上)。当我尝试使用“添加连接”对话框添加数据源时,对话框可以填充服务器,但是当选择服务器时,它无法填充数据库。

当手动输入数据库名称并单击“确定”时,会收到以下错误:“无法找到所请求的.Net Framework数据提供程序。可能未安装。”

我尝试过的事情:

  • 在VS 2008中按照相同的过程成功运行。
  • 我已卸载并重新安装VS 2010和SQL Server 2008(并安装SQL Server 2008 R2)无济于事
  • 我已经手动注释了与SQL Server的Compact版本相关联的machine.config中的行(我发现每个论坛都与VS 2008中的类似问题有关)。无济于事。
  • 我创建了一个虚拟机并且只安装了VS 2010(在相同版本的Windows 7上)。这有效,但我宁愿不必在虚拟机中工作。
  • 已经拥有数据源的应用程序将成功构建并按预期运行,但尝试从数据源更新LINQ .edmx文件时将返回错误。

其他人有过这样的经历吗/有一个有效的解决方案吗?谢谢你的帮助。

6 个答案:

答案 0 :(得分:4)

为我解决此问题的唯一方法是进入下面列出的两种机器配置并删除数据提供程序。基本上我进入了机器配置并改变了它。

<system.data>
    <DbProviderFactories>
        <add name="IBM DB2 for i5/OS .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for i5/OS" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26"/>
        <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/></DbProviderFactories>
    <DbProviderFactories/>
</system.data>

到这个

<system.data>
    <DbProviderFactories></DbProviderFactories>
</system.data>

我知道这篇文章已经过时但我希望这个回复可以节省很多时间。您也可以删除<DbProviderFactories/>标记,它也会修复它。

机器配置位置。 “C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config中” “C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \配置”

答案 1 :(得分:2)

我设法通过从“C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config”和“C:\ Windows \ Microsoft.NET \ Framework \ v4”移动machine.config文件来解决问题。 0.30319 \ Config“到另一个位置(作为备份),然后在.NET Framework 4 Client Profile上运行修复。这重建了machine.config文件,现在一切正常。

答案 2 :(得分:1)

我有同样的问题 - 我在我的电脑上卸载了dot net 4并重新安装了它 - 它解决了这个问题。

答案 3 :(得分:1)

通过浏览“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config”然后删除machine.config并将machine.config.default重命名为“sc:”后,我能够记住这个问题。 machine.config中。

步骤: 1.)浏览到“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config” 2.)备份,然后删除machine.config 3.)创建machine.config.default的副本 4.)将machine.config的副本重命名为machine.config

答案 4 :(得分:0)

经过大量的牙齿捶打和大量搜索后,我发现微软的回应将这个问题视为无法重现的问题。他们建议有问题的人重新成像他们的机器并重新开始。所以听起来好像其他几个人可能遇到过这个问题,但还不足以得到答案(或者似乎已成功修复它而没有重新映像的人)

在将所有必要数据保存到另一台PC后,我已遵循此建议。第二次安装顺利,我们正在运行。

答案 5 :(得分:0)

IBM iSeries Access编辑machine.config文件似乎是一个问题。如果您编辑配置文件并删除其他节点(在第152行附近),您应该能够再次添加连接。这是MS错误报告链接:

https://connect.microsoft.com/VisualStudio/feedback/details/652192/visual-studio-2010-add-connection-fails#tabs

感谢Rick提到错误报告!