Anywhere you go, let me go too

關於部落格
對人海闊天空,做事仔細周密
----------------------
因為改了平台後...覺得不是很好用....所以有另外......(評估中)
http://blog.xuite.net/king119wang/myskills
  • 32543

    累積人氣

  • 2

    今日人氣

    0

    訂閱人氣

Win7 64Bit .NET using IBM informix dll Error

 去Google 問一下....
https://www.google.com.tw/?gfe_rd=cr&ei=x5QRVp3cG4rE1ATktYFQ&gws_rd=ssl#q=ibm.data.informix.ifxconnection+System.BadImageFormatException

https://www.google.com.tw/?gfe_rd=cr&ei=n5kRVojvDZHA8QWh-YLIDQ&gws_rd=ssl#q=System.BadImageFormatException:+%E8%A9%A6%E5%9C%96%E8%BC%89%E5%85%A5%E6%A0%BC%E5%BC%8F%E9%8C%AF%E8%AA%A4%E7%9A%84%E7%A8%8B%E5%BC%8F%E3%80%82

看起來我不是第一個....這表示...."可能有解"^^

結果幾乎沒有解法....很多都是沒人回的

當時在Win7 64bit上安裝,IBM會強制要求只能裝64的版本.....,但在執行.NET 時就是一直無法載入元件
....直覺得32bit / 64bit的原因,因為其它程式有一顆是32位元,所以只能選x86 , 不能選Any CPU

於是我去把其它台的32bit完整 Informix目錄, copy到這台,...再依Google上的解法設了Path....等...(顯然這是個錯誤的策略) ....因為環境更亂了.

後來我發現在.net 要參考進來時,IBM.DATA.INFORMIX 似乎有好幾個...而我確定在執行期,我的程式是Link 到3.0.0.2的版本.... 開始懷疑copy過來是個錯誤~

後來我將參考Dll強製指的正確的dll檔.....但居然在執行期他還是要去找3.0.0.2的版本@@,錯誤訊息如下:

無法載入檔案或組件 'IBM.Data.Informix, Version=3.0.0.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208' 或其相依性的其中之一。 找到的組件資訊清單定義與組件參考不符。 (發生例外狀況於 HRESULT: 0x80131040)

真的完全OOXX...決定全部重來......移除informix,去regedit中,確認informix都刪了,再重裝一次, 結果裝完

還是一樣......而且他include進來的元件也是 上面那顆.......後來我決定再用Client/Server程式再開發一支程式,去呼叫Informix元件,結果居然C/S可以正常存取DB資料....WEB的錯誤是找不到元件, 於是我依Log顯示機碼去找註冊檔,結果看到元件只有兩種 一種是*.x86 另一種是*.amd64 , 不知和這個是不是有關係....


於是我又將他移至Win2012 64位元 主機,結果在編譯時曾出現下面訊息,可見不只是我有疑問
(圖片不太清楚 ,我直接再打一遍: [建置"MSIL"之專案的處理器架構與參考"IBM.D.I, V=3.0.0.2,Culture=neutral,PublicKey Token=7c307b91aa13d208, processorArchitecture=ADM64"的處理器架構"AMD64"不符,這可能會導玫執行阰段失敗]...)
真的怪怪的。。。。


WEB可以,但C/S不行,C/S在執行時會出現下面錯誤,夠怪吧!....真的是見鬼了
在測試過過程中我發現ODBC一定要設(設64位元的,因為我裝64位元的driver)一個,為了讓他產生sqlhost的註冊資料,而且Informix client測試元件也執行一下,因為我本來是兩種都連不到,後來變成webok


IIS 我沒有啟動32 Mode(網路上的解法有人說一定只能用32Mode...但我覺得不是那個問題)

實在不解為何變成C/S不能執行,因為我的程式最後是要跑在Win2012,所以我覺得先測到這裏, 其他問題有時間再來解, 於是開始實做DB Select....結果一樣在64位元不太順, 居然是執行SQL,用parameter,依IbM的sample寫怎麼測都過不了

後來看到這篇網友的分享
http://stackoverflow.com/questions/15303579/using-named-parameters-in-informix-queries-in-an-asp-net-application

改成用? 就可了 :D
。。。。

想sleep了,先這樣
 

相簿設定
標籤設定
相簿狀態