2

私は古いアプリケーションを持っていて、久しぶりにテストしようとすると、次の例外が発生します:

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

2 に答える 2

2

GetFactory関数のMSDNドキュメントによると、提供されるパラメーターは、構成ファイルでIBM.Data.Informix.Clientとして設定されているプロバイダーファクトリの不変の名前と一致する必要がありますが、IBM.Data.Informixを渡します(。なし)。クライアント)。

于 2013-01-17T09:49:12.507 に答える
1

私はこれを見つけました: How to register .NET provider . お役に立てば幸いです。

また、GAC に IBM.Data.Informix と IBM.Data.DB2 を手動でインストールすることもできます。

于 2013-01-24T19:30:31.560 に答える