Работа с DBF при помощи ADODB средствами VBS


Более-менее универсальный способ подключение к источнику данных такой:

ConnectString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source="имя ODBC алиаса";SourceDB="путь к файлам"
Set objConn = WScript.CreateObject("ADODB.Connection", "Connection_")
objConn.Open ConnectString

Далее работаем с файлами как с обычной БД. Выполняем запросы на SQL и радуемся.
Так будет выглядеть создание нового файла DBF:
objConn.Execute ("Create Table TEST (id_person char(70), first_name char(70), last_name char(70), middle_nam char(70))")

По умолчанию в "свежей" винде x86 есть источник данных под названием "Файлы dBase"
Строка подключения будет выглядеть так:

Provider=MSDASQL.1;Persist Security Info=False;Data Source='Файлы dBase';SourceDB='путь к файлам'

Вообще формат DBF та еще кривулина. Поэтому на "не свежих" виндах возникают ошибки при обращении к драйверу. Особенно DBF не дружит с х64 системами
Для этих случаев есть драйвер Microsoft Visual FoxPro Driver для DBF:
Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB="Путь к файлам DBF";Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO")

Сам драйвер можно скачать у производителя.
Не задумываясь над поиском легких путей, обратимся к другому варианту: OLE
path_dbf="c:\tmp.dbf" 'путь к файлу DBF
ConnectString ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path_dbf & ";Extended Properties=DBASE IV;"
 

Теги для робота:
Чтение dbf-файлов из программы на vbs
ADODB Recordset DBF ADODB VBS
Работа с файлами в VBScript