SQL 查詢 EXCEL 表常見錯誤解決


【錯誤信息】

消息 7399,級別 16,狀態 1,第 1 行
鏈接服務器 "(null)" 的 OLE DB 訪問接口 "Microsoft.Ace.OleDb.12.0" 報錯。提供程序未給出有關錯誤的任何信息。

 

環境介紹

Win7 64位、SQL SERVER 2012 64bit、OFFICE 2013  64位

 執行的代碼爲

 

select *  
from  OPENROWSET('Microsoft.Ace.OLEDB.12.0',    'Excel 12.0;DATABASE=E:\test.xlsx' , 'Select * from [Sheet1$]')


以下爲執行過程中的錯誤提示和解決方法,都是一步步來的. 

錯誤提示 一

消息 7403,級別 16,狀態 1,第 1 行
尚未註冊 OLE DB 訪問接口 "Microsoft.Ace.OLEDB.12.0"。
解決方法 一
 
在SQL  Management Studio中 服務器對象-->鏈接服務器-->訪問接口,打開後只看到 Microsoft.Ace.OLEDB.15.0.
(如果EXCEL爲2007 或者 2010 版本的 如果沒有看到 Microsoft.Ace.OLEDB.12.0. ,要下載AccessDatabaseEngine,進行安裝.下載時注意2007 2010版本和32 64位)
 所以上面語句改爲以下語句後再執行.

  

select * 
 from OPENROWSET('Microsoft.Ace.OLEDB.15.0',   'Excel 12.0;DATABASE=E:\test.xlsx', 'Select * from [Sheet1$]')

  

錯誤提示 二
 
消息 7399,級別 16,狀態 1,第 1 行
鏈接服務器 "(null)" 的 OLE DB 訪問接口 "Microsoft.Ace.OLEDB.15.0" 報錯。訪問被拒絕。
消息 7350,級別 16,狀態 2,第 1 行
無法從鏈接服務器 "(null)" 的 OLE DB 訪問接口"Microsoft.Ace.OLEDB.15.0"獲取列信息。
但是能看到數據表的 標題行

解決方法 二

控制面板/管理工具/服務/SQL Server (MSSQLSERVER)  --> 右鍵 屬性 --> 登錄 --> 設置: 登錄身份=本地系統賬戶  --> 重啓 SQL Server (MSSQLSERVER) 服務

 

錯誤提示 三

消息 7399,級別 16,狀態 1,第 1 行
鏈接服務器 "(null)" 的 OLE DB 訪問接口 "Microsoft.Ace.OLEDB.15.0" 報錯。提供程序未給出有關錯誤的任何信息。
消息 7330,級別 16,狀態 2,第 1 行
無法從鏈接服務器 "(null)" 的 OLE DB 訪問接口"Microsoft.Ace.OLEDB.15.0"提取行。

解決方法 三

修改ACE接入參數,以下操作後要重啓  SQL Server (MSSQLSERVER) 服務.

SQL Management Studio:SQL服務器-->服務器對象-->鏈接服務器-->Microsoft.ACE.OLEDB.12.0 屬性-->常規-->選中:1、動態參數;2、允許進程內

 

或者

  

USE [master]    

GO    

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.15.0', N'AllowInProcess', 1    

GO    

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.15.0', N'DynamicParameters', 1    

GO    

 

 

一般情況下問題應該是已經解決的了.

錯誤提示 四

消息 7399,級別 16,狀態 1,第 1 行
鏈接服務器 "(null)" 的 OLE DB 訪問接口 "Microsoft.Ace.OLEDB.15.0" 報錯。提供程序未給出有關錯誤的任何信息。
消息 7303,級別 16,狀態 1,第 1 行
無法初始化鏈接服務器“(null)”的 OLE DB 訪問接口“Microsoft.Ace.OLEDB.15.0”的數據源對象。

解決方法 四

1,這時可能EXCEL 處於不可編輯狀態,看看是不是打開了,如果打開了要關閉上才行.

2,如果沒有文件打開,那麼可以打開EXCEL表,看看有沒有說“文件正在被佔用”之類,如果有的話可以過一會再試試.

 


開啓外圍配置


--開啓高級設置
  
exec sp_configure'show advanced options',1reconfigure
  
--開啓外圍設置
exec sp_configure'Ad Hoc Distributed Queries',1reconfigure 



文章參照了 http://blog.csdn.net/wonsoft/article/details/7730976

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章