1. 程式人生 > >SQL從xls或xlsx匯入資料

SQL從xls或xlsx匯入資料

SQL匯入xls資料格式:

SELECT * INTO test FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=d:/測試.xls',sheet1$)

SQL匯入xlsx資料格式:

SELECT * INTO aa FROM OPENDATASOURCE('Microsoft.Ace.OLEDB.12.0',
'Data Source=D:/測試.xlsx;Extended Properties=Excel 12.0')...[sheet1$]

在向sql server2005匯入資料時很可能會發生如下錯誤:

訊息 15281,級別 16,狀態 1,第 1 行
SQL Server 阻止了對元件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此元件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細資訊,請參閱 SQL Server 聯機叢書中的 "外圍應用配置器"。

解決方法:


exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

注意:

 使用完畢後,記得要關閉它,因為這是一個安全隱患,只需要將上面的1改成0,執行順序換下即可。