2017-11-10 261 views
0

是否有可能,wo在C#.Net的控制檯應用程序中手動引用了IBM提供的i客戶端訪問附帶的cwbdc.dll?我想連接到AS400數據庫而不安裝i客戶端訪問,但只能通過使用 IBM.Data.DB2.iSeries和cwbdc.dll附帶的提供程序。將IBM i客戶端訪問中的cwbdc.dll手動嵌入到控制檯應用程序

當我直接將cwbdc.dll複製到bin目錄時,出現以下異常。

{ 「時發生意外的異常類型: System.BadImageFormatException,消息:ES wurde versucht,EINE Datei MIT einem falschen格式つ載貨(Ausnahme馮HRESULT: 0x8007000B)。」}

回答

0

我遇到了IBM提供的cwbx.dll類似的問題。是的,這是可能的。

如果你想在沒有安裝客戶端訪問的情況下複製dll文件,你必須添加一個微軟補丁,因爲這個舊的DLL文件是「未管理的dll的」,不能直接加載。

的Microsoft Visual C++ 2005 Service Pack 1的再發行組件包ATL安全更新:https://www.microsoft.com/en-us/download/details.aspx?id=14431

然後你必須將所有320個 DLL文件誰與CWB ****開始從客戶端訪問dll的安裝到你的文件夾中。與IBM.Data.DB2.iSeries.dll文件。 (它們都以不同的方式引用到對方中)。

對於我有這個工作,我可以使用iSeries連接,而無需安裝客戶端訪問。但這是一個非常不穩定的方式。 請確保當您複製dll文件時,客戶端訪問未安裝在目標機器上!

如果已經安裝了客戶端訪問,並且包含了dll文件,則應用程序崩潰。如果您複製的dll的客戶端訪問版本與安裝的版本不同,則應用程序也會崩潰。

我已經用start =>檢查解決了這個問題,如果你發現客戶端訪問安裝,然後刪除所有包含的dll文件並使用安裝的。

但即使它工作,我不建議這樣。

相關問題