2012-01-10 101 views
2

我想在安裝在Windows 2008 64位機器上的SQL Server 2008 R2上使用Openrowset。當我執行下面的查詢時,出現如下錯誤請幫助我。在Windows 2008 64位機器上安裝的SQL Server 2008 R2上的Openrowset

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=E:\01112012.xls;','SELECT * FROM [Sheet1$]') 

錯誤:

消息7403,級別16,狀態1,行 OLE DB提供程序 「Microsoft.Jet.OLEDB.4.0」 尚未註冊。

+1

我安裝了Microsoft Access數據庫引擎2010可再發行組件之後,我更改了上面的查詢,並且它對我來說工作正常。下面是已修改的查詢。 SELECT * FROM OPENROWSET('MICROSOFT.ACE.OLEDB.12.0','Excel 12.0; HDR = YES; DATABASE = E:\ 01112012.xls',sheet1 $) – Simhadri 2012-01-10 22:06:34

回答

3

您是否安裝: - >Microsoft Access Database Engine 2010 Redistributable

  • 此下載將安裝一套有利於現有的Microsoft Office之間的數據傳輸組件的文件,如Microsoft Office Access 2010中(* .MDB和.ACCDB )文件和Microsoft Office Excel 2010( .xls,* .xlsx和* .xlsb)文件複製到其他數據源(如Microsoft SQL Server)。與現有文本文件的連接也受支持。 ODBC和OLEDB驅動程序安裝在應用程序開發人員用於開發與Office文件格式連接的應用程序。
+0

是的,我確實在機器上安裝了該軟件。 – Simhadri 2012-01-10 22:01:03

+0

我安裝了這個之後,我改變了上面的查詢,它對我來說工作得很好。以下是修改後的查詢。 SELECT * FROM OPENROWSET( 'MICROSOFT.ACE.OLEDB.12.0', '的Excel 12.0; HDR = YES; DATABASE = E:\ 01112012.xls',工作表Sheet $) – Simhadri 2012-01-10 22:04:48

+0

由於一噸@ KD7 – Simhadri 2012-01-10 22:13:46

0

在64位版本的Windows中運行OPENROWSET。

1-安裝AccessDatabaseEngine_x64.exe(需要重新啓動)。

2-如果您使用的是SQL Management Studio,請以管理員身份運行Management Studio。如果您沒有以管理員帳戶身份運行它,則會出現此錯誤(無法初始化鏈接服務器的OLE DB提供程序「MICROSOFT.ACE.OLEDB.12.0」的數據源對象「(null)」。

3 - 。運行此命令配置數據庫

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

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

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

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

4-不要使用 'SELECT * FROM表Sheet1 $' 在OPENROWSET函數試試這個代碼

select * from OPENROWSET('MICROSOFT.ACE.OLEDB.12.0', 'Excel 12.0;HDR=YES;DATABASE=D:\test.xlsx', sheet1$) 

如果你仍然有(32位)錯誤,請嘗試重新啓動您的SQL服務並檢查您的C:\ Windows \ Temp並查看您是否有權訪問此d是否是irectory。

相關問題