Не удалось найти запрошенный поставщик данных.Net Framework. Возможно, он не установлен.(Informix)

У меня есть старое приложение, и после долгого времени, когда я пытаюсь его протестировать. Я получаю следующее исключение:

Unable to find the requested .Net Framework Data Provider.  It may not be installed.

Мой код:

 public DBConnection(string ConnectionString)
        {
            this.providerFactory = DbProviderFactories.GetFactory("IBM.Data.Informix");//Exception here
            this.connection = new IfxConnection();
            if (string.IsNullOrEmpty(ConnectionString))
            {
                this.connection.ConnectionString = ConfigurationManager.ConnectionStrings["r_informix"].ToString();
            }
            else
            {
                this.connection.ConnectionString = ConfigurationManager.ConnectionStrings["r_informix"].ToString();
            }
            command = this.connection.CreateCommand();
        }

Я пытаюсь сделать следующее решение здесь

</runtime>
 <system.data>
    <DbProviderFactories>
      <add name="IBM.Data.Informix"
              invariant="IBM.Data.Informix.Client"
              description="Informix Data Provider for .NET"
              type="IBM.Data.Informix,
                  IBM.Data.Informix,
                  Version=3.0.0.2,
                  Culture=Neutral,
                  PublicKeyToken=7c307b91aa13d208" />
    </DbProviderFactories>
  </system.data>
but In vain ...

2 ответа

Согласно документации MSDN для функции GetFactory, предоставленный параметр должен совпадать с инвариантным именем фабрики провайдеров, которое в файле конфигурации установлено как IBM.Data.Informix.Client, но вы передаете IBM.Data.Informix (без. Клиент).

Я нашел это: Как зарегистрировать провайдера.NET. Я надеюсь, что это помогает.

Также вы можете попробовать вручную установить IBM.Data.Informix и IBM.Data.DB2 в GAC.

Другие вопросы по тегам