2013-10-23 51 views
0

我試圖導入我的磁盤C:從Excel數據文件,但是當我執行查詢錯誤Importe的Excel與OPENROWSET一起

SELECT * 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;HDR=YES;Database=C:\Hola.xlsx', 'SELECT * FROM [Ripley$]') 

我得到這個錯誤

消息7308,級別16,狀態1行1
OLE DB提供程序'Microsoft.ACE.OLEDB.12.0'不能用於分佈式查詢,因爲提供程序配置爲以單線程單元模式運行

我想這

EXEC sp_configure 'show advanced options', 1; 
RECONFIGURE; 
GO 

EXEC sp_configure 'Ad Hoc Distributed Queries', 1; 
RECONFIGURE; 
GO 

,但它不工作。有人可以幫助我嗎?

我使用SQL Server 2008 R2和Office 2010

+0

什麼是您正在使用的查詢?使用此查詢 SELECT * FROM OPENROWSET( 'Microsoft.ACE.OLEDB.12.0', –

+0

IM '的Excel 12.0的Xml; HDR = YES;數據庫= C:\ Hola.xlsx', 「SELECT * FROM [裏普利$]') – Ryuzaki

回答

0

不需要連接字符串內的SELECT聲明,你可以將其刪除:

SELECT * 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;HDR=YES;Database=C:\Hola.xlsx', [Ripley$]') 

你也可能不需要Xml部分(但我不確定是否會導致錯誤):

SELECT * 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=YES;Database=C:\Hola.xlsx', [Ripley$]') 
+0

我現在看得很好現在我有其他問題,我正在尋找,我發現這個http://www.maxxxie.net/2012/07/01/the-joys-of-importing-excel-data- into-sql-2008-r2 /在那個url中,我需要安裝微軟訪問服務來正確執行我的查詢。我跟我的老闆談過這件事,但他不想安裝它,我還有其他方法可以解決這個問題? – Ryuzaki

+0

不是我所知,您需要安裝服務並具有管理員權限才能使用此功能。最好的選擇是通過SSMS中的導入/導出嚮導導入excel文件,或者使用SSIS來處理導入。 –

+0

好的,謝謝你的幫助,我安裝了所有工作良好 – Ryuzaki