Jak podłączyć bazy typu dbf (dBase) do MS SQL Server ?

Z problemem tym zetknąłem się niedawno.  Jeszcze stare bazki dbf-owe nie upadły jeszcze. Na różnych forach są opisy, które nie do końca działają lub opisują tylko część problemu.

W pierwszej kolejności aby można było tworzyć zapytania ad-hockowe do tych baz należy zmienic konfigurację SQL Servera:

— rozszerzenie na opcje zaawansowane

exec sp_configure 'show advanced options',1
reconfigure with override;

— Włączenie możliwości zadawania zapytań typu Ad-Hoc

exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure with override;

–wyświetlenie zawartości bazy z pliku BazaDBF.dbf gdzie:

Pole_1, Pole_2, …, Pole_n – pola bazy danych

„MSDASQL” – provider OLE DB

DBQ=C:\Temp – ścieżka do folderu zawierającego pliki dbf

{Microsoft dBASE Driver (*.dbf)) – driver

BazaDBF – nazwa pliku dbf (nazwa całej bazy danych typu dbf, która jest zarazem jedną tabela o nazwie BazaDBF)

SELECT Pole_1, Pole_2, ..., Pole_n
FROM OPENROWSET('MSDASQL','Driver={Microsoft dBASE Driver (*.dbf)};DBQ=C:\Temp','SELECT * FROM BazaDBF')

DBBS