SQL1159初始化错误与DB2 .NET数据提供程序,原因码2

SQL1159初始化错误与DB2 .NET数据提供程序,原因码2

问题描述:

我试图从.NET 2.0的应用程序连接到DB2在我的机器上运行的Windows 7 64位。SQL1159初始化错误与DB2 .NET数据提供程序,原因码2

我在打开方法中出现此错误。找不到解决方案。

ExceptionType:InvalidOperationException ExceptionMessage:SQL1159初始化DB2 .NET数据提供程序错误,原因代码2,令牌D:....................... \ BIN \ db2app.dll, 堆栈跟踪:在IBM.Data.DB2.DB2ConnPool.Open(的DB2Connection连接,字符串& szConnectionString,DB2ConnSettings & ppSettings,对象& ppConn)在IBM.Data.DB2.DB2Connection.Open ()

从我的colleauge得知这个。问题是因为应用程序文件夹的bin目录中缺少db2app.dll。

复制db2app.dll和db2app64.dll从C:\ Program Files文件\ IBM \ SQLLIB \ BIN到围嘴应用程序的文件夹,它工作得很好。

+1

是的,您需要确保DB2驱动程序套装位于PATH – zinking

+0

谢谢@谢赫,您的答案解决了我的问题 –

请参阅IBM doc for SQL1159N底部的“用户响应”,其中还列出了您可能会收到此错误代码的各种原因:

您的DB2安装出现问题。如果这是第一次在此计算机上安装DB2,请查看安装日志中是否有任何可能的错误,并从“添加/删除程序”控制面板小程序中运行DB2的修复。安装日志的默认位置是执行安装的用户的My Documents/DB2LOG文件夹。如果这不能解决问题,请联系IBM支持,并提供与此消息关联的原因代码以及任何安装日志。

+0

感谢您的链接。但我的安装没有问题。 – Shetty

说话IBM后,他们强烈反对把IBM的DLL bin文件夹内。我们让IBM远程配置我们的服务器,现在一切正常,我们不能将ibm * .dll放入我们的bin文件夹中,否则它将无法工作。

我有一个32位DB2客户端,我是从IIS上承载Web应用程序访问它,使用应用程序池(与“启用32位应用程序”设置为false)。在这种情况下一个 64位客户端(db2app64.dll) 预计而db2app.dll将抛出上述错误。

仅供参考.. 很难调试在Visual Studio中,这个错误是由默认的IIS Express使用32位应用程序池。要将其更改为64位,必须在注册表中进行更改(将Use64BitIISExpress设置为1)。IIS Express没有inetmgr。