2011-11-16 101 views
7

我的應用程序出現問題。當它運行時,錯誤顯示「Microsoft.Jet.OLEDB.4.0」提供程序未在本地計算機上註冊

「Microsoft.Jet.OLEDB.4.0」提供程序未在本地 機器上註冊。

我試過將平臺更改爲X86 CPU,但無法更改,唯一可用的選項是任何CPU。

請告訴如何擺脫這個錯誤。

謝謝

+0

看看這個主題 - http://social.technet.microsoft。com /論壇/ en/w7itproappcompat /線程/ 14041b74-6ca6-49be-af90-d8ff3f962724 – adatapost

+2

不應該你的問題是「爲什麼我不能改變目標CPU」,因爲這是令人費解的事 – hawbsl

+0

「我試着改變平臺到X86 CPU,但是它不能改變「 如果其他人也有這個問題,請先試試這個:如果您使用的是Visual Studio,可以在Project Properties> Build> Platform target下更改該平臺。如果您檢查Solutions Platform,它可能只顯示任何CPU。 –

回答

5

您使用的是Jet.OLEDB.4.0驅動程序,當在64位系統上運行,這給出了錯誤, 最好是安裝新的驅動程序的Microsoft Access數據庫引擎2010可再發行

http://www.microsoft.com/download/en/details.aspx?id=13255

您還需要將連接字符串從「Provider = Microsoft.Jet.OLEDB.4.0; 「到‘供應商= Microsoft.ACE.OLEDB.12.0;’

參考從我的博客64 bit version of ‘Microsoft.Jet.OLEDB.4.0’ Office 2007/2010 Jet drivers

希望這會有所幫助。

3

打開IIS管理器,選擇Application Pools,選擇您正在使用的應用程序池,單擊右側菜單中的Advanced Settings。在常規下,設置"Enable 32-Bit Applications" to "True".

現在的x86選項將是可見的,建立自己的應用程序在此模式下

0

的Microsoft.Jet.OLEDB.4.0提供程序未註冊在本地計算機上 背景

RNT客戶可以在運行Windows XP,Windows Vista,Windows 7或Windows 8 Pro的32位或64位個人電腦上運行,但在Windows XP 64位(可能還有其他操作系統)上,有可能某些Microsoft OLEDB DLL尚未運行註冊。

解1號

的解決方案是手動註冊這些DLL。

進入開始 - >運行,輸入cmd 這將啓動命令提示符 (也可從開始 - >程序 - >附件 - >命令提示符)

cd \,然後按返回

的提示現在應該顯示C:\>

你需要去這將是一個特殊的文件夾類似

  • C:\ Windows \ System32下
  • C:\ WINNT \ SYSTEM32
  • C:\ WINDOWS \ SYSWOW64

嘗試輸入每個這些。如果它顯示「系統找不到指定的路徑,請嘗試下一個」例如

  • CD C:\ Windows \ SYSWOW64
  • CD C:\ Windows \ System32下
  • CD C:\ WINNT \ SYSTEM32

當這些中的一個不導致錯誤,停下來,你找到了正確的文件夾。

您需要通過每個

  • REGSVR32 Msjetoledb40.dll
  • REGSVR32的Msjet40.dll
  • REGSVR32 Mswstr10.dll
  • REGSVR32後鍵入以下命令並按回車鍵註冊OLE DB 4.0的dll Msjter40.dll
  • regsvr32 Msjint40.dll

* 溶液2 *

要解決此問題,打開Visual Studio中的項目,然後:

  1. 從Solution Explorer中右鍵單擊您的項目,然後單擊屬性
  2. 點擊Build標籤
  3. 從更改目標平臺:任何CPU的x86
  4. 重新構建解決方案
0

原因:在64位機器上託管Asp.net應用程序。但我們的網站引用了第三方DLL,它是以32位構建的。 step by step solution 一旦我試過所有的解決方案,但我被卡住了,因爲我使用OLEDB的ODBC驅動器。

相關問題