您目前已離線,請等候您的網際網路重新連線

PRB:執行使用 Microsoft Jet 的 OLE DB Provider 的連結伺服器查詢時,發生錯誤 7399

徵狀
如果執行連結伺服器查詢,且設定連結伺服器使用 Microsoft Jet 的 OLE DB Provider,則查詢可能不會成功,且可能會收到下列錯誤訊息:
錯誤 7399:OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error. (OLE DB provider 'Microsoft.Jet.OLEDB.4.0' 已回報錯誤)
[OLE/DB provider returned message:Unspecified error] (OLE/DB provider 已傳回訊息:未指定的錯誤 )
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: (OLE DB 錯誤追蹤 [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::初始傳回 0x80004005:])
如果您瀏覽 SQL Server Enterprise Manager 的連結伺服器,可能會收到下列錯誤訊息:
錯誤 7399:OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error. (OLE DB provider 'Microsoft.Jet.OLEDB.4.0' 已回報錯誤)
發生的原因
如果登入帳戶沒有對 SQL Server 啟動帳戶暫存資料夾的完整存取權限,就會發生這個問題。 連結伺服器查詢會執行登入帳戶中的內容。如果執行連結伺服器查詢,SQL Server 會嘗試在 SQL Server 啟動帳戶暫存資料夾中,建立暫存檔案資料來源名稱 (DSN)。
其他可行方案
如果需要替代的解決方案,請依照下列步驟執行:
  1. 使用 SQL Server 啟動帳戶來登入電腦。
  2. 在作業系統安裝目錄下建立名為 Temp 的資料夾。
  3. 允許非系統管理員帳戶擁有 Temp 資料夾的完整存取權限。
  4. 針對新建立的 Temp 資料設定 SQL Server 啟動帳戶中 TEMPTMP 使用者變數的值。如果要執行這項操作,請依照下列步驟執行:
    1. 用滑鼠右鍵按一下 [我的電腦],再按一下 [內容]
    2. 按一下 [進階] 索引標籤,然後按一下 [環境變數]
    3. [ Logon User 的使用者變數] 清單中,按一下 [TEMP],然後按一下 [編輯]
    4. [變數值] 方塊中輸入 C:\Temp 以做為新 Temp 資料夾的位置,然後按一下 [確定]
    5. 重複執行步驟 c 及 d 以設定 TMP 變數的值。
    6. 按兩次 [確定]
  5. 登出,然後使用 SQL Server 啟動帳戶登入電腦。
  6. 重新啟動 SQL Server 服務。
参考
如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
296711 PRB:"Unspecified error" Error 7399 Using OPENROWSET Against Jet Database
內容

文章識別碼:814398 - 最後檢閱時間:05/15/2011 21:25:00 - 修訂: 5.0

  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • kbsqldeveloper kbsecurity kberrmsg kbprb KB814398
意見反應