首頁 > 資料庫 > mysql教程 > 如何解決 SQL Server 中的「無法建立 OLE DB 提供者 Microsoft.Jet.OLEDB.4.0 的實例」錯誤?

如何解決 SQL Server 中的「無法建立 OLE DB 提供者 Microsoft.Jet.OLEDB.4.0 的實例」錯誤?

Barbara Streisand
發布: 2024-12-27 09:41:09
原創
757 人瀏覽過

How to Solve

對連結伺服器null 的「無法建立OLE DB 提供者Microsoft.Jet.OLEDB.4.0 的實例」進行故障排除

在提供的T 中-SQL 查詢時遇到錯誤,指出無法為下列物件建立OLE DB提供程式「Microsoft.Jet.OLEDB.4.0」的實例連結伺服器。讓我們解決這個問題。

解決方案:

  1. 確保管理員權限:
    確認您以管理員身分登入您的本機電腦上。 TEMP 資料夾在 C:WindowsTEMP 下創建,使用者必須對這些目錄具有寫入權限。
  2. 設定臨時分散式查詢:
    執行下列T-SQL啟用Ad Hoc 分散式的指令查詢:

    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'AllowInProcess', 1
    GO
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'DynamicParameters', 1
    GO
    登入後複製
  3. 安裝Microsoft.ACE.OLEDB 提供者(SQL Server 2012 和2014):
    對於較新版本的 SQL Server,例如SQL Server 2012和2014,需要安裝Microsoft.ACE.OLEDB.12.0提供者。

    • 從以下位置下載提供者:https://www.microsoft.com/en-us/download/details.aspx?id=13255
    • 在您的電腦上安裝提供者SQL Server。
  4. 設定Microsoft.ACE.OLEDB 屬性:
    安裝Microsoft.ACE.OLEDB 提供者後,執行下列T-SQL 指令來設定其屬性:

    EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
    GO
    EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
    GO
    登入後複製
  5. 更新連結伺服器:
    修改連結伺服器定義以使用更新的連接string:

    INSERT INTO OPENROWSET ('Microsoft.ACE.OLEDB.12.0',
                           'Excel 8.0;Database=G:\Test.xls;',
                           'SELECT * FROM [Sheet1$]')
    SELECT *
    FROM   dbo.products
    登入後複製

    確保連接字串中指定的檔案路徑和 Excel 版本正確。

按照以下步驟,您應該能夠解決「無法建立 OLE DB 提供者 Microsoft.Jet.OLEDB.4.0 的實例」錯誤並成功將資料從 Excel 匯入到資料庫中。

以上是如何解決 SQL Server 中的「無法建立 OLE DB 提供者 Microsoft.Jet.OLEDB.4.0 的實例」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板