SQL в BDE

Здравствуйте!
Где можно почитать о диалекте SQL, используемом в BDE? Просто в последнее
время занялся им вплотную и стал наталкиваться на проблемы - это не работает,
то не работает. Особенно недостает функций, не работают даже банальные
POS/SUBSTR, MONTH, LEFT/RIGHT... Пишет, что, мол, "Capability not supported".
Если в BDE этого нет, то посоветуйте пожалуйста:
1. Компоненты для работы с SQL (типа TQuery), обязательно с поддержкой формата
DBF, желательно бесплатные. Пробовал Apollo - он у меня в целом работает, но
программа виснет при закрытии набора данных.
2. Или какие-нибудь более-менее готовые инструменты для импорта имеющейся БД
в
формате DBase в нормальный SQL-сервер (Firebird/Interbase, MySQL,
PostgreSQL). БД в формате DBF используется другими программам, импорт нужен
только для удобства работы с полноценным SQL. Соответственно, такой импорт
надо выполнять регулярно. Конечно, можно и самому написать, но ведь лень :)
Может, есть уже что-нибудь готовое?
Спасибо за ответы-советы.
В комплект поставки Delphi 5 входит LocalSQL Guide. Почему его нет в
Delphi 7, понятия не имею. Хорошая справка. Правда, в HLP.
Это зависит не от самой BDE, а от возможностей драйвера. BDE просто
предоставляет интерфейс доступа к нему. Сами операции обслуживаются
драйвером. Как-то PARADOX, DBASE, MSSQL итп Есть стандартные, которые
поставляются с самим BDE, можно доставить/дописать собственные.
Теоретически.
Имеются: строковые - ||, LOWER, UPPER, SUBSTRING, TRIM; агрегатные -
AVG, COUNT, MAX, MIN, SUM; фиг знает, как категорию назвать - CAST, EXTRACT.
Это то, что типа гарантируется. Этот список (не уверен, правда) может быть
расширен драйвером, но даже функциональность гарантированных всё равно
зависит от драйвера. То, что ты пытаешься использовать, как я понял,
относится к MS FoxPro specific, которые по причине отсутствия их в стандарте
SQL не обязаны быть поддержаны любым драйвером.
ADO. Соответственно TADOQuery, TADOTable (нежелательно), TADOCommand.
Если найдёшь (могу выслать, но лучше сам скачай с MSного сайта) драйвер к
Microsoft Visual FoxPro OLEDB Provider, то получишь почти то, что хочешь -
он понимает (за очень малым исключением) все фичи Fox-а, включая индексные
теги с выражениями, использующие пользовательские функции, и фразы INTO
TABLE в SELECT-ах. Но он в ряде мест медленнее (что очень странно - в
основном он наоборот быстрее) BDE Local SQL, да и завязываться на specific
фичи ADO провайдера плохо - фиг потом перейдёшь на что-нибудь другое.
А чё там писать-то?
INSERT INTO sqlTable (fieldList) SELECT fieldList FROM dbfTable
или даже
INSERT INTO sqlTable SELECT * FROM dbfTable
если структура sqlTable та же самая, что и dbfTable. Самому такого делать не
приходилось, но какие могут быть проблемы? Разве что типы данных чуть-чуть
подправить.
--
С уважением, boroda
Номер выпуска : 5173
Возраст листа : 871 (дней)
Количество подписчиков : 547
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/512194
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru