首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebird DDEX Visual 2010“无法找到所请求的.Net框架数据提供程序。它可能没有安装”

Firebird DDEX Visual 2010“无法找到所请求的.Net框架数据提供程序。它可能没有安装”
EN

Stack Overflow用户
提问于 2012-01-12 13:37:03
回答 1查看 3.5K关注 0票数 3

我已经为这个问题困了好几天了。我看到很多人都有这个问题,我尝试过很多事情,但还是失败了。有人能帮帮我吗。

我运行的是Windows 7 64位,MS Visual 2010,Firebird DDEX 2.0.5和NetProvider 2.7.0.0。我密切关注this堆栈溢出问题,并结合DDEX和其他在线文章提供的ReadMe文件来尝试安装所有内容。我做了以下工作:

(x86)\FirebirdClient.

  • Extract

  • 将NetProvider 2.7.0.0安装到C:\Program DDEX2.0.5文件到C:\Program (x86)\FirebirdClientt.

  • Edited注册文件FirebirdDDEXProvider64在C:\Program (x86)\FirebirdClient\reg_files\VS2010中,以便

"CodeBase"="%Path%\FirebirdSql.VisualStudio.DataTools.dll“

现在读

代码语言:javascript
复制
"CodeBase"="C:\\Program Files (x86)\\FirebirdClient\\FirebirdSql.VisualStudio.DataTools.dll"

然后我安装了它。

  1. I通过执行以下操作使用gacutil.exe安装FirebirdSql.VisualStudio.DataTools.dll和FirebirdSql.Data.FirebirdClient.dll:

cd "C:\Program (x86)\FirebirdClient“C:\Program (x86)\Microsoft \Windows\v7.0A\bin\NETFX 4.0 Tools\gacutil.exe”/i FirebirdSql.VisualStudio.DataTools.dll

“C:\程序文件(x86)\Microsoft \Windows\v7.0A\bin\NETFX4.0 Tools\gacutil.exe”/i /i

按照上面超链接的问题(这里)2中的说明,除了我使用来自程序文件的gacutil.exe (x86)而不是Program来安装FirebirdSql.VisualStudio.DataTools.dll,因为在普通的程序文件目录中不存在gacutil.exe。我确实使用了gacutil.exe的list函数来查看两个文件是否安装正确,并记录PublicKeyFunction等。

  1. 读了很多之后,我决定调整所有四个machine.config文件。通往它们的途径是:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config

我从DDEX自述文件中复制了代码,并将其粘贴到文件中的正确位置,并相应地填写了各种参数。我这样做是考虑到运行时版本号是不同的,这取决于我是否调整了v2或v4 machine.config文件,并将从上面的gacutil.exe步骤中记录的正确参数.version=2.7.0.0,culture=neutral,publickeytoken=3750abcc3150b00c。见下文。

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config

代码语言:javascript
复制
<configuration>
    <configSections>
        <section name="firebirdsql.data.firebirdclient" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />

再往下看

代码语言:javascript
复制
<system.data>
        <DbProviderFactories>
        <add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".Net Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.7.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c" />
            <add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        </DbProviderFactories>
    </system.data>

(我粘贴了额外的代码,以防有帮助?)

类似于v4 machine.config文件,除了这里,我必须按如下方式调整代码的DBProviderFactories部分:

代码语言:javascript
复制
<configuration>
    <configSections>
        <section name="firebirdsql.data.firebirdclient" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />

这是之前的原始machine.config代码:

代码语言:javascript
复制
 <system.data>
        <DbProviderFactories />
    </system.data>

我把它调整到:

代码语言:javascript
复制
 <system.data>
        <DbProviderFactories>
            <add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".Net Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.7.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c" />
        </DbProviderFactories>
    </system.data>

64位V4文件也是如此。

当我打开2010并尝试添加一个连接时,我可以选择一个火鸟数据源,它列出了火鸟的.Net框架数据提供程序,并在继续输入数据库注册参数时得到了下一个窗口。但是,当我按下Test (即使没有输入数据)时,它会说‘测试连接成功的’,当我按OK键时,我会得到错误‘无法找到请求的.NET Framework数据提供程序。它可能没有安装。‘

我不知道还能做什么。我所读到的一切都表明machine.config文件是不正确的,但我找不到问题。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2012-10-26 18:48:58

尝试3.0.0来自火鸟网站http://www.firebirdsql.org/en/net-provider/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8835977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档