2010-03-23 134 views
4

我試圖使用.net類連接到AS400服務器。
我已添加對IBM.Data.DB.iSeries的引用,並使用以下代碼:
var conn = new iDB2Connection(「DataSource = 111.111.111.111; UserID = xxx; Password = xxx; DataCompression = True;」 );
conn.Open();連接到AS400(ISeries)時出錯

但我得到以下例外
運行64位:「提供程序無法在64位模式下運行。」
運行32位:發生意外異常。類型:System.DllNotFoundException,消息:無法加載DLL'cwbdc.dll':操作系統無法運行。 (來自HRESULT的異常:0x800700B6)。

我卸載了客戶端訪問並重新安裝了它。 cwbdc.dll確實存在於system32和syswow64中。 如果我使用odbc,連接到AS400沒有問題。

我運行Windows 7
任何想法的一個64位的優化版本?

/Jimmy

+0

+1幫助我首先詢問我的問題。 – David 2010-12-23 15:35:54

回答

5

看來您正在使用的驅動程序在64位系統上不受支持。在「生成」選項卡中的項目屬性中,將平臺目標設置爲x86而不是Any CPU

+0

當設置它的x86我得到其他消息:「發生了一個意外的異常類型:System.DllNotFoundException,消息:無法加載DLL cwbdc.dll「:操作系統無法運行(異常來自HRESULT:0x800700B6)。 「 – 2010-03-23 10:26:10

+1

+1 - 我得到同樣的錯誤,找到了你的答案,它的工作。謝謝! – David 2010-12-23 15:34:52

+0

我也有類似的問題,更換的Visual C++ 2008可再發行其[SP1](http://www.microsoft.com/en-us/download/details.aspx?id=5582)解決它。 (提示:http://stackoverflow.com/a/3412380/908336) – 2013-11-18 12:16:48