|
![]() |
#1 |
Administrator
|
Дык это.... не путайте мух с котлетами
![]() Совет. Создайте файлик с расщирением .UDL и щелкните по нему. Это своеобразный конструктор строк подключения для OLEDB (и соотв ADO). После контруирования, внутри файлика (он текстовый) будет лежать нужная строчка. Нюанс. Теоретически, за подключение к .DBF отвечает драйвер Jet (Microsoft Jet OLE DB Provider). Однако там можно указать только путь к базе Access (.MDB) Варианты решения: 1. Попробовать указать в поле путь - путь к каталогу, где лежит (лежат) DBF-ник(и). В этом случае имя таблицы будет соответствовать имени файла. По такой схеме работает драйвер Jet из под Access и SQL Server. Однако в данном случае я не пробовал 2. Отказаться от ADO. Делать через ODBC (класс ODBCConnection). Однако в этом случае необходимо иметь уже созданный ODBC (просто драйвер задать не удастся. Можно конечно изменить драйвер у уже созданного ODBC, однако это уже извращение) |
|
|
За это сообщение автора поблагодарили: Logger (3). |
![]() |
#2 |
Участник
|
Всем привет!
Сегодня вдруг стала появляться аналогичная ошибка ![]() "Метод "execute" в COM-объекте класса "ADODB.Command" возвратил код ошибки 0x80040E37 (<неизвестно>), который означает: [Microsoft][Драйвер ODBC dBase] Объект 'fileName' не найден ядром базы данных Microsoft Jet. Проверьте существование объекта и правильность имени и пути." X++: CCADOCommand command = new CCADOCommand(); CCADORecordset rs = new CCADORecordset(); CCADOConnection cn = new CCADOConnection(); ; cn.open("Driver={Microsoft dBASE Driver (*.dbf)}; DriverID=277; Dbq="+_filePath+";"); command.activeConnection(cn); command.commandText("select * from "+_fileName); rs = command.execute(); //<-ошибка тут ![]() |
|
![]() |
#3 |
Участник
|
kuvg
Вы не пробовали читать до конца данную тему? Цитата:
Connection strings for DBF / FoxPro |
|
|
За это сообщение автора поблагодарили: kuvg (1). |
![]() |
#4 |
Участник
|
Ок. Делаю:
X++: CCADOCommand command = new CCADOCommand(); CCADORecordset rs = new CCADORecordset(); CCADOConnection cn = new CCADOConnection(); ; cn.open(strFmt("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%1;Extended Properties=dBASE IV;User ID=Admin;Password=;", _filePath)); command.activeConnection(cn); command.commandText("select * from "+_fileName); rs = command.execute(); //<-ошибка тут ![]() Говорю же до сих пор работало без проблем... |
|
Теги |
ado, dbf, чтение данных |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|