SqlServer express 2005 導入 excel表的SQL語句
需要在SqlServer express 2005 中 導入 excel表資料
試用三個SQL語句,出現了下面的錯誤資訊。
insert into 表 select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=F:\資料.xlsx',sheet1$)
SELECT * into GuS
FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'Data Source="F:\古樹名木資料.xls";User ID=;Password=;Extended properties=Excel 5.0')...[sheet1$]
消息 7399,級别 16,狀态 1,第 1 行
連結伺服器 "(null)" 的 OLE DB 通路接口 "MICROSOFT.JET.OLEDB.4.0" 報錯。提供程式未給出有關錯誤的任何資訊。
消息 7303,級别 16,狀态 1,第 1 行
無法初始化連結伺服器 "(null)" 的 OLE DB 通路接口 "MICROSOFT.JET.OLEDB.4.0" 的資料源對象。
解決問題:
1、在SQL Server 外圍應用配置器中啟用 OpenRowSet 和 OpenDataSource函數
2、執行以上sql語句的資料庫必須是本地資料庫,如果為遠端的資料庫就會報上面的錯誤
3、連結字元串 Extended Properties屬性的内容要以分号間隔并用雙引号括起來,sheet1$ 在括号外。并且excel中檔案薄名為sheet1
4、注意office的版本4.0是office2003,12.0是office2007的版本,看看是否裝了驅動。
4.0驅動對應的是office2003,excel檔案的字尾為xls