官網下載地址:sql
https://www.microsoft.com/en-us/download/details.aspx?id=13255 數據庫
安裝以後在 sqlserver 實例下 ->「連接服務器」-> 「訪問接口」中會看到如下接口。服務器
執行如下語句:分佈式
exec sp_configure 'show advanced options',1sqlserver
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigurespa
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 13d
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1 server
select*from OPENROWSET('Microsoft.ACE.OLEDB.12.0','dBase IV;HDR=NO;IMEX=2;DATABASE=d:/db','select * from [2015.DBF]') blog
這裏由於環境緣由可能會報ISAM錯 ,接口
研究了很長時間網上搜了不少資料,最終 在這裏獲得啓發https://support.hp.com/cn-zh/document/c01208058 ,是由於缺乏ISAM驅動,
因而 找到對應的msxbse35.dll 註冊,註冊後 須要從新啓動數據庫服務器纔有效果。
再次執行sql 查詢命令
select*from OPENROWSET('Microsoft.ACE.OLEDB.12.0','dBase IV;HDR=NO;IMEX=2;DATABASE=d:/db','select * from [2015.DBF]')
提示以下
需安裝Foxpro,並在Foxpro命令框輸入如下命令 回車,將dbf文件轉換格式
USE 'd:\db\2015.dbf' EXCLUSIVE;
COPY TO 'd:\db\2015new.dbf' TYPE FOX2X;
或在Foxpro裏將當前dbf文件導出爲 dBase IV格式:
再次執行,這裏應該選擇新的dbf文件2015new.dbf,最終成功讀取了dbf文件內容。速度仍是比較快的,100多萬的數據全表查詢用了1分鐘左右。
select*from OPENROWSET('Microsoft.ACE.OLEDB.12.0','dBase IV;HDR=NO;IMEX=2;DATABASE=d:/db','select * from [2015new.DBF]')
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
1.如下命令做用
--開啓數據庫系統存儲過程高級選項
exec sp_configure 'show advanced options',1
reconfigure
--即席分佈式查詢服務器配置選項,開啓以後可跨數據庫訪問
--參閱:https://msdn.microsoft.com/zh-cn/library/ms187569.aspx
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--修改ACE接入參數
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
以上內容還涉及到不少知識點,但時間緣由暫沒深刻去逐個研究,只是點到爲止。