我在32位Windows 2008服務器中創建了一個在.NET 3.5中開發的Windows應用程序。在64位服務器中部署應用程序時,它顯示錯誤“Microsoft.Jet.OLEDB.4.0'提供程序未在本地計算機上注冊”。因此,作為此問題的解決方案,我已將項目的構建屬性更改為X86,以便它將以32位模式構建,并在32位機器中重建項目。但是,同一個項目使用其他數據庫驅動程序(DB2,SQL等)連接到其他數據庫。因此,當我在64位操作系統中再次部署我的應用程序時,它會拋出異?!皣L試在32位平臺上加載64位程序集”。我使用Microsoft.Jet.OLEDB.4.0驅動程序讀取和寫入Excel(.xls)
3 回答
吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
我找到了解決這個問題的方法。我在問題中描述的問題基本上是由于64位操作系統中的Microsoft.Jet.OLEDB.4.0驅動程序不兼容。
因此,如果我們在64位服務器中使用Microsoft.Jet.OLEDB.4.0驅動程序,我們必須強制我們的應用程序以32位模式構建(這是我在廣泛搜索此已知問題時找到的答案)這會導致我的代碼的其他部分中斷。
幸運的是,現在微軟已經發布了64位兼容的2010 Office System Driver,可以替代傳統的Microsoft.Jet.OLEDB.4.0驅動程序。它適用于32位和64位服務器。我已經將它用于Excel文件操作,它在這兩種環境中都適用于我。但是這個驅動程序是在BETA中。
您可以從Microsoft Access數據庫引擎2010可再發行組件下載此驅動程序
慕妹3242003
TA貢獻1824條經驗 獲得超6個贊
我也有同樣的問題
Microsoft.Jet.OLEDB.4.0'提供程序未在本地計算機上注冊
我通過neo應用了答案但是在我將連接字符串中的提供程序更改為“Provider = Microsoft.ACE.OLEDB.12.0;”之后它才起作用。
如果有人面臨同樣的問題,希望這會有所幫助。
- 3 回答
- 0 關注
- 1693 瀏覽
添加回答
舉報
0/150
提交
取消
