Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Импорт из dbf файла через ADO [D5, XP]


Lera ©   (2008-11-13 10:20:00) 

Уважаемый профи, подскажите пожалуйста выход из ситуации.
Действия в коде:
1. Происходит успешное соединение с OLE - провайдером после выбора файла terrlist_closed.dbf из дирректории FileDir на жестком диске:
   
ConnectionString := 'Provider=MSDASQL.1;Data Source=Файлы dBASE;Mode=Read;' +'Extended Properties="DSN=Файлы dBASE;' +
'DBQ=' + FileDir + ';DefaultDir=' + FileDir + ';DriverId=277;FIL=dBase IV;";Initial Catalog=' + FileDir;

2. При попытке открыть запрос:

SELECT row_id, nameu, tu, amr,
      adress, kd, sd, rg, nd,
      gr, descript
FROM terrlist_closed.dbf
WHERE tu IS NOT NULL

Выдается ошибка:

"EOleException
[Microsoft][Драйвер ODBC dBase] Объект 'terrlist_closed.dbf' не найден ядром базы данных Microsoft Jet.  Проверьте существование объекта и правильность имени и пути"


Anatoly Podgoretsky   (2008-11-13 13:08:00) [1]

> sniknik  (13.11.2008 12:55:10)  [10]

Да жалко ее.


sniknik   (2008-11-13 12:55:00) [2]

> а как формировать строку от драйвера?
легко, вместо DSN прописать драйвер, у тебя это -> DRIVER={Microsoft dBase Driver (*.dbf)};

> Не надо, ты продолжаешь ходить по граблям. Откажись от ODBC пока не поздно
да пусть помучится, может атрофированный "голос разума" себе "подкачает". :)


Anatoly Podgoretsky   (2008-11-13 11:36:00) [3]

> Lera  (13.11.2008 11:03:08)  [8]

Не надо, ты продолжаешь ходить по граблям. Откажись от ODBC пока не поздно


Lera   (2008-11-13 11:03:00) [4]

а как формировать строку от драйвера?


sniknik   (2008-11-13 10:56:00) [5]

кстати посмотри на ошибку
> "EOleException
> [Microsoft][Драйвер ODBC dBase] Объект 'terrlist_closed.dbf' не найден ядром базы данных Microsoft Jet.  
> Проверьте существование объекта и правильность имени и пути"
думаешь его не будет на компе с ODBC если сам ODBC использует его? ошибка то от него.


sniknik   (2008-11-13 10:53:00) [6]

> ну или как минимум от русских имен в DSN.
в руской редакции винды создаются именно так, если использовать созданные по умолчанию...

но выход есть, даже с учетом
> Была задача использовать ODBC
не использовать DSN! формировать строку от драйвера...

> по умолчанию находящиеся на любом компьютере.
а вот это вранье... не на любом, большинстве, практически на всех сйчас использующих винду, но не на любом, а вот DSN так вообще может быть на любом языке, не только русском, или отсутствовать вообще (в висте судя по тем версиям что виде это уже умолчание). и это очень частые явления (не создавая свой рискуешь "вляпаться", в отличие от наличия jet что тебе чуствую хотели посоветовать)


Lera   (2008-11-13 10:41:00) [7]

Была задача использовать ODBC по умолчанию находящиеся на любом компьютере.


Anatoly Podgoretsky   (2008-11-13 10:36:00) [8]

Для начала надо уйти от ODBC, ну или как минимум от русских имен в DSN.


Palladin   (2008-11-13 10:36:00) [9]

кхм...


Lera   (2008-11-13 10:27:00) [10]

Какому?:)


Palladin   (2008-11-13 10:23:00) [11]


> Проверьте существование объекта и правильность имени и пути

совету последовала?


Наверх

Титульная страница Поиск, карта сайта Написать письмо