2008-08-27 47 views
4

我試圖從32位.Net應用程序中獲取DB2數據提供程序連接到作爲Vista 64上的32位應用程序運行的DB2(是否足夠令人困惑)?不幸的是,我收到以下錯誤:SQL1159 DB2 .NET數據提供程序初始化錯誤,原因代碼7,令牌9.5.0.DEF.2,SOFTWARE IBM DB2 InstalledCopies

SQL1159 Initialization error with DB2 .NET Data Provider, reason code 7, tokens 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies

有幾個IBM forum posts提到這一點,但很少有用的指導。有誰之前經歷過這個嗎?或者你有更好的解決它的想法?

回答

2

是否需要將它作爲x86運行?我在Visual Studio的開發Web服務器(這是x86)下有類似的Web應用程序問題,但切換到IIS(x64)爲我工作。由於我正在部署到IIS x64,所以我在那個時候稱它爲一天。

我試圖跟蹤Filemon和Regmon,但沒有得到任何被拒絕或丟失的鍵錯誤。如果我再看一遍,我會檢查HKLM \ Software \ WOW6432Node,猜測安裝程序寫入到x64 HKLM \ Software節點,但不是x86節點。

1

我依稀記得在試圖建立一個從sql 2005到as/400的鏈接服務器時,DB2 for as/400 oledb驅動程序有類似的聲音問題。這是一個權限問題,我最終發現,只有SQL服務器帳戶(不是Windows)可以使用鏈接服務器,因爲(我認爲),那麼驅動程序使用sql的憑據加載而不是模擬的。如果它運行時「運行」管理員那麼它必須是權限。

1

我假設你已經在DB2 Reference Guide中看到了SQL1159的寫法?

不幸的是,你的理由代碼停留在6,不要繼續7.它說:

User response: There was a problem with your DB2 installation. If this is the first time DB2 was installed on this computer, review the install logs for any possible errors and run a repair of DB2 from the Add/Remove Programs control panel applet. The default location of the installation logs is the My Documents/DB2LOG folder of the user that performed the installation. If this does not resolve the issue please contact IBM Support and provide the reason code associated with this message along with any installation logs.

,所以我想嘗試重新安裝它,如果問題仍然存在,你必須請聯繫IBM。

對不起,我知道這沒什麼幫助。

0

我卸載了以前的32位版本,重新安裝爲64位,現在我得到一個完全不同的錯誤。它提到要求FP2修復,但由於我使用的是Express-C,我無法安裝修復包(IBM不提供免費DB2產品的修復包)。無論如何,感謝您的幫助。至少我現在可以接近連接。 :)

0

我在Windows 2003 x86服務器上也遇到了此錯誤。本來我的問題是

Unable to find the requested .net framework data provider. it may not be installed.

導致評論認爲C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ CONFIG \ machine.config中失蹤的DbProviderFactories部分必要的條目。事實上,那裏沒有IBM DB2條目。當我在一個條目中手動添加時,然後我遇到了你的這個錯誤,提示更多而不僅僅是編輯machine.config。我直接卸載了IBM DB2驅動程序集,重啓系統,重新安裝系統,並正確初始化連接。

0

我曾與DB2同樣的問題.net提供程序。

如果您有Windows 64位,然後下載並從 _HTTPS安裝 IBM數據服務器運行時客戶端(AMD的Windows 64)9.5版
://www14.software.ibm.com/webapp/iwm/web/preLogin 。做LANG = EN_US &源= SWG-idsrc11 & S_TACT = appddnet & S_CMP = ibm_im

如果你運行你的程序,你會得到以下異常

未處理的異常:?System.Overflow例外:算術 操作導致溢出。 在IBM.Data.DB2.DB2ConnPool.Open(連接的DB2Connection, StringszConnectionStringIn,DB2ConnSettings & ppSettings,對象& ppConn) 在IBM.Data.DB2.DB2Connection.Open()

下載並安裝該修補程序從 http://www-01.ibm.com/support/docview.wss?uid=swg1IZ09579

這個DB2版本會解決這個問題。

0

安裝DB2 Express-C爲Win 64,版本9.7.1 和它的工作

0

我有類似的問題,我的機器是64位。我安裝了32位和64位DB2運行時客戶,在我的項目目標框架設置爲32位,完全爲我工作。我能夠運行在其它64/32位機器的應用程序,只是他們需要安裝無論是32位或從DB2運行時客戶端的64位,根據機器的操作系統。

0

是。這應該發生在你的Windows 7中,而不是Windows XP中。該soultion是:

  • 右鍵單擊該項目在解決方案資源管理器中
  • 屬性
  • 編譯選項卡(左側)
  • 向下滾動看到高級編譯選項按鈕
  • 更改下拉目標CPU至86。