2011-09-20 48 views
11

我試圖從.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 ()

回答

8

從我的colleauge得知這個。問題是因爲應用程序文件夾的bin目錄中缺少db2app.dll。

複製db2app.dll和db2app64.dll從C:\ Program Files文件\ IBM \ SQLLIB \ BIN到圍嘴應用程序的文件夾,它工作得很好。

+1

是的,您需要確保DB2驅動程序套裝位於PATH – zinking

+0

謝謝@謝赫,您的答案解決了我的問題 –

2

請參閱IBM doc for SQL1159N底部的「用戶響應」,其中還列出了您可能會收到此錯誤代碼的各種原因:

您的DB2安裝出現問題。如果這是第一次在此計算機上安裝DB2,請查看安裝日誌中是否有任何可能的錯誤,並從「添加/刪除程序」控制面板小程序中運行DB2的修復。安裝日誌的默認位置是執行安裝的用戶的My Documents/DB2LOG文件夾。如果這不能解決問題,請聯繫IBM支持,並提供與此消息關聯的原因代碼以及任何安裝日誌。

+0

感謝您的鏈接。但我的安裝沒有問題。 – Shetty

0

說話IBM後,他們強烈反對把IBM的DLL bin文件夾內。我們讓IBM遠程配置我們的服務器,現在一切正常,我們不能將ibm * .dll放入我們的bin文件夾中,否則它將無法工作。

1

我有一個32位DB2客戶端,我是從IIS上承載Web應用程序訪問它,使用應用程序池(與「啓用32位應用程序」設置爲false)。在這種情況下一個 64位客戶端(db2app64.dll) 預計而db2app.dll將拋出上述錯誤。

僅供參考.. 很難調試在Visual Studio中,這個錯誤是由默認的IIS Express使用32位應用程序池。要將其更改爲64位,必須在註冊表中進行更改(將Use64BitIISExpress設置爲1)。IIS Express沒有inetmgr。

相關問題