2010年12月1日 星期三

DBF 轉檔

很久沒看到這附檔名了,最近同事有一個很舊的開發票程式,因為一百年的關係,需要把DBF裡面的資料轉出來,所以只號在去找一下相關資料。
一般*.DBF是DBASEIII,或是DBASEIV或是FoxPro在使用的檔案,所以當初程式的開發應該是Fox Pro寫的。
大部分提到的都適用 SQL2000去轉檔, 找了SQL2005 & SQL2008裡面的DataSource支援,已經都被拿掉了....冏
有人說可以這樣開啟
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\DBF;Extended Properties=dBase III;')...ABC
但是會出現這錯誤
SQL Server 已封鎖元件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 之存取
所以必須
啟用 OPENROWSET 與 OPENDATASOURCE 支援

SQL Server 介面區組態 >> 功能的介面區組態 >> 特定遠端查詢
或是用指令
啟用:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
關閉:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

沒有留言:

張貼留言