程式語法使用 Jet.OLEDB.4.0 提供者並未登錄於本機電腦上

使用 Microsoft.Jet.OLEDB.4.0 提供者並未登錄於本機電腦上

Microsoft.Jet.OLEDB.4.0 Provider is not registered on the local machine

最近使用 Windows 7 x64 版本的電腦上於 OLEDB 4.0 去開發 Visual Studio .NET 的程式,發現會出現「Microsoft.Jet.OLEDB.4.0 提供者並未登錄於本機電腦上」的問題。

專案 屬性 建置 把平台目標的 Any CPU 改成 x86



方案組態 組態管理員 預設有「Debug」和「Release」兩種組態預設的平台「Any CPU」。

修改為「x86」於「使用中的方案平台」下拉選單,選擇「新增」再於「新增專案平台」對方話塊中「輸入或選擇新平台」選「x86」。如果在 x64 平台上以 x86 方式執行程式,無法運用 x64 所特有的功能。


Server.MapPath 數據庫相對路徑

數據庫相對路徑要把 DefaultAppPool 設為 32 位元模式。

開啟 IIS 7.532位元程式支援 ADODB.Connection

相關 System.Data.OleDb 命名空間

http://msdn.microsoft.com/zh-tw/library/system.data.oledb(v=vs.100).aspx

Microsoft Access Database Engine 2010 可轉散發套件

Microsoft.ACE.OLEDB.12.0 for 64 bit system

傳輸 2010 Microsoft Office system 檔案和非 Microsoft Office 應用程式之間的資料。包含 Access 2010 (*.mdb, *.accdb) 檔案及 Excel 2010 (*.xls, *.xlsx, *.xlsb) 檔案的資料傳輸到其他資料來源。

http://www.microsoft.com/zh-tw/download/details.aspx?id=13255


執行階段錯誤 -2147217900 記憶體不足

資料庫中存入日文字元 使用具有 LIKE 子句的 SELECT 陳述式下造成執行階段錯誤 -2147217900 記憶體不足,嘗試從 ACEESS 裡面刪掉該筆紀錄,執行就正常,只要欄位中包含日文部份,就是會出現上面的錯誤訊息,找不到完整的方式只能暫且用 VBInStr 指令來比對過濾或替換成別的編碼。

解決遇到日文會「記憶體溢出」出現 -2147217900 記憶體不足

Modification in