2017-11-10 54 views
0

C#.Netを使用してコンソール・アプリケーションでIBMのiクライアント・アクセスに手動で付属しているcwbdc.dllを参照できますか? iクライアント・アクセスをインストールせずにAS400データベースに接続したいのですが、 IBM.Data.DB2.iSeriesと、プロバイダにはcwbdc.dllが付属しています。IBM iクライアント・アクセスのcwbdc.dllを手動でコンソール・アプリケーションに組み込む

私が直接cwbdc.dllをbinディレクトリにコピーすると、次のような例外が発生します。

{ "予期しない例外が発生しましたタイプ: System.BadImageFormatException、メッセージ:エスwurde versucht、アイネDatei MIT einemのfalschen形式ZUのラディン(AusnahmeフォンHRESULT: 0x8007000B)。"}

答えて

0

IBMのcwbx.dllにも同様の問題があります。はい、可能です。

クライアントアクセスをインストールせずにdllファイルをコピーする場合は、この古いDLLファイルは「umanaged dll」であり、直接ロードできないため、Microsoftパッチを追加する必要があります。

のMicrosoft Visual C++ 2005 Service Pack 1の再頒布可能パッケージATLのセキュリティ更新プログラム:https://www.microsoft.com/en-us/download/details.aspx?id=14431その後

あなたはCWB ****で始まるすべての320個の DLLファイルをコピーするフォルダへのクライアントアクセスインストールからdllをしなければなりません。 IBM.Data.DB2.iSeries.dllファイルを使用します。 (それらはすべて互いに異なる方法で参照されます)。

これはうまくいきましたが、Client AccessをインストールせずにiSeries Connectionを使用することができました。しかし、それは非常に不安定な方法です。 dllファイルをコピーするときに、そのクライアントアクセスがターゲットマシンにインストールされていないことを確認してください。

クライアントアクセスが既にインストールされていて、dllファイルが含まれていると、アプリケーションがクラッシュします。コピーしたdllのクライアントアクセスバージョンがインストールされているバージョンと異なる場合は、アプリケーションもクラッシュします。

クライアントアクセスインストールが見つかった場合は、start =>にチェックを付けて修正し、含まれているすべてのdllファイルを削除して、インストール済みのものを使用してください。

でも動作しても、この方法はお勧めしません。

関連する問題