使用 Microsoft.Jet.OLEDB.4.0 提供者並未登錄於本機電腦上
在 Internet Information Services 連接到 Microsoft Access 資料庫時遇到「使用 Microsoft.Jet.OLEDB.4.0 提供者並未登錄於本機電腦上」的錯誤訊息,可以嘗試電腦上是否安裝 Microsoft Access Database Engine 2010 可轉散發套件需要下載並安裝。確認連接字串中指定正確的資料庫檔案路徑和提供者名稱,確認應用程式和資料庫檔案都是使用相同的位元版本,例如 32 位元作業系統或 64 位元作業系統。
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 所特有的功能。
使用 Microsoft.Jet.OLEDB.4.0 讀取 Excel
當應用程式處於伺服器的 OLEDB.4.0 支持問題,讀取 Excel .xls 的檔案,且使用 .ASPX 的情況下嘗試一步步解析。
Server.MapPath 數據庫相對路徑
數據庫相對路徑要把 DefaultAppPool 設為 32 位元模式。
開啟 IIS 7.5 中32位元程式支援 ADODB.Connection
相關 System.Data.OleDb 命名空間
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) 檔案的資料傳輸到其他資料來源。
https://www.microsoft.com/zh-tw/download/details.aspx?id=13255
執行階段錯誤 -2147217900 記憶體不足
資料庫中存入日文字元 使用具有 LIKE 子句的 SELECT 陳述式下造成執行階段錯誤 -2147217900 記憶體不足,嘗試從 ACEESS 裡面刪掉該筆紀錄,執行就正常,只要欄位中包含日文部份,就是會出現上面的錯誤訊息,找不到完整的方式只能暫且用 VB 的 InStr 指令來比對過濾或替換成別的編碼。