2010-03-23 127 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