Не удалось найти запрошенный поставщик данных.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.