| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Как с помощью ADO открыть таблицу dBase (.dbf) |
| Автор: -Сергей- 14.11.2004, 07:48 | ||
| В FoxPro 2.6 создал таблицу spr_str.dbf На форму ставлю ADOTable, DataSource и DBGrid У ADOTable значение ConnectionString = Provider=MSDASQL.1;Password=Password;Persist Security Info=True;User ID=Admin;Data Source=Файлы dBASE;Location=1049;Mode=ReadWrite;Initial Catalog=C:\MyBase\ TableName = spr_str При установке значения Active=True у ADOTable появляется ошибка:
Помогите разобраться в чем дело? |
| Автор: Cashey 14.11.2004, 22:18 |
| А почему не через BDE или ODBC? |
| Автор: -Сергей- 18.11.2004, 07:42 | ||
Почему не через BDE - мне нужно через ADO научиться, ведь ADO как раз и подключается к ODBC. Если есть другой способ подключения к ODBC просвятите меня как? |
| Автор: Vit 18.11.2004, 14:43 | ||||||
Учись на MS Access - будет намного эффективнее
Сие есть неверно.
www.torry.net - пакет компонентов mODBC. Впрочем можно и напрямую через их API но это гемморойно, кстати BDE тоже обеспечивает возможность использования ODBC драйверов |
| Автор: mutex 19.11.2004, 05:43 |
| Если еще есть индексный файл от FoxPro, воспользуйся специальным ADO провайдером "VFP OLE DB Provider" от Microsoft. Иначе будут проблемы с индексами. Как сделать - смотри Help файл провайдера. |
| Автор: -Сергей- 19.11.2004, 12:26 | ||||
| Vit, спасибо за совет, Acces уже пробовал, теперь dBase мучаю, потом на Paradox и Oracle перейду. Ошибку исправил с помощью:
Но во время проектирования, когда устанавливаю в Object Inspector`е Active=True появляется ошибка.
А где этот Help файл? |
| Автор: mutex 20.11.2004, 01:17 |
| Виноват! Хелп для VFP8 и он огромен. Вот образцы строк соединения: 1) через VFP OLE провайдер: Provider=VFPOLEDB.1;Data Source=C:\MyBase;Password="";Collating Sequence=RUSSIAN 2) через VFP ODBC драйвер: Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=C:\MyBase;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=RUSSIAN;Null=Yes;Deleted=Yes;" Открой свой DBF с индексом в FoxPro 2.6 и проверь Collation, т.е. набери команду disp stat после use ... order... Если коллейт у тебя MACHINE, то замени RUSSIAN на него. |
| Автор: Гость_Алексей 23.11.2004, 13:55 |
| соединение с DBF через ADO Connection String содержит sConn := 'Provider=Microsoft.Jet.OLEDB.4.0;Data SourceC:\MyBase\;'+ 'Extended Properties=dBase III;Persist Security Info=False'; |
| Автор: klonnn 14.5.2008, 13:57 | ||||
Пробовал такое соединение. Все равно не застрахованы от ошибки 15877 (мне показалось, что она возникает, если в dbf-файле есть поля типа float, хотя точно не уверен) Xentrax на форуме http://www.sql.ru/forum/actualthread.aspx?tid=156445 предложил следующее:
Помогло! Но похоже этот ключ может быть использован и другим ПО |