SQL SERVER(openrowset函式)從檔案(.dbf)讀取資料並將資料作為行集返回

exocet發表於2011-07-27

http://www.cnblogs.com/nclly/archive/2008/12/04/1347948.html

使用 OLE DB 連線並訪問遠端資料的一次性的臨時方法:從檔案讀取資料並將資料作為行集返回

[@more@]

只有在以下情況下才能使用 OPENROWSET 訪問 OLE DB 資料來源中的遠端資料:指定訪問介面的 DisallowAdhocAccess 登錄檔選項已顯式設定為 0,並啟用了 Ad Hoc Distributed Queries 高階配置選項。如果未設定這些選項,則預設行為不允許即席訪問。

--將test.dbf中的資料複製到temp(資料庫自動新建立的)表中

select * into temp from
openrowset('MICROSOFT.JET.OLEDB.4.0','dBase 5.0;DATABASE=d:datebase','select * from [test.dbf]')


注意:select * from [test.dbf]test.dbf的檔名(不包括副檔名)長度不能超過8位,否則會提示找不到物件
詳細可參考MSDN

select * from
openrowset('MICROSOFT.JET.OLEDB.4.0','dBase 5.0;DATABASE=d:','select * from [info.dbf]')

注意這裡目錄是 資料庫伺服器端機器目錄

另一方法:

select *
FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'Data Source="D:";User ID=Admin;Password=;Extended properties=dBase 5.0')..info.dbf

需要設定

啟用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
使用完成後,關閉Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/38085/viewspace-1053080/,如需轉載,請註明出處,否則將追究法律責任。

相關文章