Firebird DDEX Visual Studio 2010 "Не удалось найти запрошенный поставщик данных .Net Framework. Возможно, он не установлен" - PullRequest
3 голосов
/ 12 января 2012

Я застрял на несколько дней с этой проблемой.Я вижу, что у многих людей есть эта проблема, и я пробовал много вещей, но все еще безуспешно.Пожалуйста, кто-нибудь может мне помочь.

Я использую 64-битную Windows 7, MS Visual Studio 2010, Firebird DDEX 2.0.5 и NetProvider 2.7.0.0.Я внимательно следил за этим вопросом stackoverflow в сочетании с файлом ReadMe, поставляемым вместе с DDEX, и другими статьями в Интернете, пытаясь установить все.Я сделал следующее:

  1. Установите NetProvider 2.7.0.0 на C: \ Program Files (x86) \ FirebirdClient .

  2. Извлечение файлов DDEX 2.0.5 в C: \ Program Files (x86) \ FirebirdClientt .

  3. Отредактировал файл реестра FirebirdDDEXProvider64 в C: \ Program Files(x86) \ FirebirdClient \ reg_files \ VS2010, так что

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

теперь читает

"CodeBase"="C:\\Program Files (x86)\\FirebirdClient\\FirebirdSql.VisualStudio.DataTools.dll"

и затем я установил его.

Я использовал gacutil.exe для установки FirebirdSql.VisualStudio.DataTools.dll и FirebirdSql.Data.FirebirdClient.dll, выполнив следующие действия:

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

" C: \Программные файлы (x86) \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ gacutil.exe "/ i FirebirdSql.Data.FirebirdClient.dll

согласно инструкциямприведенный в вопросе с гиперссылкой выше ([здесь]) 2 , за исключением того, что я использовал gacutil.exe из Program Files (x86) вместо Program Files для установки FirebirdSql.VisualStudio.DataTools.dll как gacutil.exeне существует в каталоге обычных программных файлов.Я использовал функцию списка gacutil.exe, чтобы проверить правильность установки обоих файлов, а также записать функцию PublicKeyFunction и т. Д.

После долгих чтений я решил настроить все четыре файла 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прочитайте и вставьте его в правильные позиции в файле и запишите в него различные параметры, соответственно.Я сделал это с учетом того, что номер версии во время выполнения отличается в зависимости от того, настраиваю ли я файлы machine.config v2 или v4, а также помещаю правильные параметры, записанные на шаге gacutil.exe, описанном выше ... т.е. версия = 2.7.0.0, культура= нейтральный, publickeytoken = 3750abcc3150b00c.См. Ниже.

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

<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" />

и далее в файле

<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 следующим образом:

<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 до:

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

, и это то, что я настроил так:

 <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.

Когда я открываю MS Visual Studio 2010 и пытаюсь добавить соединение, я могу выбрать источник данных Firebird, и он перечисляет провайдера данных .Net Framework для Firebird, и при продолжении я получаю следующее окно, где я могу ввести регистрацию базы данныхпараметры.Однако, когда я нажимаю Test Connection (даже если данные не введены), появляется сообщение « Test Connection Successful », и когда я нажимаю OK, я получаю ошибку « Невозможно найти запрошенные данные .NET FrameworkProvider.Возможно, он не установлен. '

Я не уверен, что еще делать.Все, что я прочитал, указывает на неправильные файлы machine.config, но я не могу найти проблему.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 26 октября 2012

Попробуйте 3.0.0 с сайта Firebird http://www.firebirdsql.org/en/net-provider/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...