![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
InterBase с помощью ADO. [D7, IB6.x]
Iova © (2005-05-18 13:10:00)Помогите пожалуйста решить проблему.
Я подключаю базу InterBase с помощью ADO.
Строка подключения:
Provider=MSDASQL.1;Password=masterkey;Persist Security Info=True;User ID=sysdba;Mode=ReadWrite;Extended Properties="DSN=IB;Driver=Firebird/InterBase(r) driver;Dbname=C:\ENIGMA.GDB;CHARSET=NONE;PWD=DKEBFJENHFCOBHGHLAIMNAAFICELEAEGDNMFNOGALAMHBBGCHFADNKCBPPGMANOGIEKENIOPHDI PBIECPLLLCBIKEJKMJLPLIB;UID=SYSDBA";Initial Catalog=c:\
Подключается все нормально без ошибок. Но при вызове процедурыGetFieldNames(s1,form1.ListBox2.Items);происходит ошибка "провйдер не обеспечивает такой операции", однако процедураGetTableNames(form1.ListBox2.Items);вызывается нормально.
Может из-за драйвера FireBird. У меня стоитFirebird_ODBC_1.2.0.69-Win32.exe
Iova (2005-05-18 17:28:00) [21]Попробовал. Теперь он выдает ошибку: Не найдено поле RDB$FIELD_PRECISION.
Johnmen (2005-05-18 15:31:00) [22]А-а-а-а-а-а-а !!!!!
Так там и Field и Table... Не доглядел, однако :)))
sniknik (2005-05-18 15:22:00) [23]ну а чего бы ей не работать если там TStrings и ожидается? %о))
TADOConnection.GetFieldNames(const TableName: String; List: TStrings);
Johnmen (2005-05-18 15:17:00) [24]М.б. я чего-то не догоняю, но мне не понятно, как может эта процедура работать, когда вторым параметром ей указывают TStrings.
sniknik (2005-05-18 14:58:00) [25]> Может из-за драйвера FireBird. У меня стоит Firebird_ODBC_1.2.0.69-Win32.exe
вполне возможно, получение имен полей и имен таблиц разными схемами обеспечиваются, может твой драйвер одну и не реализовал (вернее те кто его писали).
проверь с другим, благо их уже достаточно.
вот этот например, точно работает. с ним имена полей у меня получаются.
http://zstyle.dp.ua/rus/download.htm
Iova (2005-05-18 13:49:00) [26]С параметрами все в порядке, т.к. эта процедура работает для БД Access.
Johnmen (2005-05-18 13:22:00) [27]Достаточно нажать F1 и разобраться с параметрами.