Сергей Смирнов писал(а):Плиииз, не надо этот БД-Менеджер в лазаря втыкать
Я также против вклчения в IDE средств разработки БД (визаульной и не визуальной). Моё мнение - каждый должен заниматься своим делом.
Как отдельный инструмент - да.
2 Сергей Смирнов: я и не собираюсь это дело в lazarus вставлять. Разработка программ это одно, управление БД это другое, визуальная разработка БД это третье. Просто в том ТЗ свалалили всё в одну кучу.
В ZeosDBO унифицированный интерфейс к разным БД уже заложен. И выбор типа БД осуществляется переключением свойства ZConnection.Protocol. Кроме того имеется потомок TDataset, позволяющий получать метаданные: списки таблиц, представлений, процедур, полей и т.п.
Имхо не стоит использовать ZEOS, не в обиду будет сказано авторам, но некоторые подходы в либе вызывают у меня сомнения в нормальной производительности при объемах больше 10000 строк в результате запроса.
В частности у них все обращения к конкретной записи идут через некий список TList:
и когда вы вызываете метод DataSet.Next такой код выполняется 2 раза !!!
для текущего RowNo и для следующего RowNo +1, соответсвенно если вы находитесь ближе к концу списка (смотрите грид) то происходит почти полное сканирование TList, я от такого дела офигел.
Моё мнение - не надо делать одну универсальную программу. Лучше сделать несколько прогриамм, основанных на одной кодовой базе и имеющих похожий функционал - но заточенных каждая под свой сервер.
Примерно так же как постороена LCL от лазаря - прослойка под каждый из серверов своя.
Отдельные компоненты для работы с MySQL 4, 4.1, 5
Так же отдельные компоненты для SQLite3 и SQLite4
В таком случае нету мы получаем кучу менеджеров для разных версий БД, не говоря уже про разные типы самих СУБД. Что совершенно не удобно.