ODBC Commander public beta I (c) Lexey Koshkin, 2005 lexey111@mail.ru Программа была написана для личного пользования как вспомогательный инструмент в замену стандартного SQL Explorer. Потому что стандартный SQL Explorer не умеет копировать и вставлять значения в поля. Собственно, время от времени идея создать подобный инструмент меня посещала и раньше, но как-то не было вдохновения, а тут вдруг пришло (не оказалось под рукой ничего приличного в очень нужный момент). Название программы не совсем правильное, вернее было бы что-то типа "ADOExplorer", но исторически сложилось так. Пусть будет. Программа умеет: - Работать с источниками данных, установленными в системе (ADO+ODBC): - Показывать список таблиц - Показывать список процедур (теоретически из некоторых БД можно извлекать и текст процедур, но об этом ниже) - Показывать список представлений (views) - Показывать поля, ключи, индексы с большим количеством информации по ним - Содержит встроеный редактор SQL с подсветкой синтаксиса и базовыми для таких редакторов вещами: - список автодополнения с таблицами текущего соединения - сохранение/загрузка запросов - исполнение всего текста или только выделенного участка - исполнение пакета запросов в транзакции (по возможности) - показ и при возможности редактирование результатов выполнения запроса в закладках редактора с возможностью изменения запроса "на лету" - история запросов - Изменять представления данных: - Всяческие группировки, выравнивания - Сортировки - Фильтрация и поиск данных - Скрытие колонок - summary,group summary - Экспорт данных в XLS, HTML, TXT, XML - Содержит встроенный редактор BLOB-полей, который позволяет: - загружать, выгружать и очищать поля - редактировать как текст - редактировать как RTF - просматривать как изображение в форматах ico, bmp, jpeg, wmf - просматривать в HEX-представлении - просматривать в HTML-представлении Программа не умеет работать со структурой БД: создавать и менять таблицы, представления, процедуры и прочее, предоставляя пользователю полную свободу использовать для этого встроенный SQL Editor. Теоретически можно всю необходимую для построения структур информацию извлекать через ADO, но, насколько мне известно, не для всех типов СУБД (точнее, их ADO-драйверов). То же касается текстов хранимых процедур и представлений. На разработку программы я потратил всего около недели (пару дней целиком и вечерами), так что функциональность и устойчивость её необходимо минимальны или, если угодно, минимально необходимы. Эта бета-версия публикуется с исходными текстами без любых гарантий, ограничений и ответственности (ПНБ, программа с неограниченной безответственностью) с целью определить, чего не хватает в ней для счастья и если этого немного - то сделать. Ну и заодно половить глюки на живца. Программа базируется на крайне урезанной версии моей библиотеки lxFramework 3 для построения плагинных систем (честно говоря, просто надёргал оттуда кой-каких классов и кусков кода), что - теоретически, при наличии спроса и моего большого желания - позволит перейти к плагинной архитектуре. Например, для создания набора плагинов-прослоек доступа к данным через native-компоненты. (Парадокс, при работе с СУБД обычно я использую отнюдь не ADO, а компоненты прямого доступа - ну, иногда библиотеку SQLDirect. В принципе, каждая большая СУБДа имеет свой более-менее приличный эксплорер, часто несколько - это не касается Informix - но часто при разработке нужно что-то мелкое: быстро просмотреть данные или поменять чего-то. Например, к 7-му Sybase шла Windows-версия explorer, а к девятке уже осталась только ява. Которая активно тормозит на моём очень далеко не самом слабом железе). Понятно, что используя специфические приёмы и знание структуры системных таблиц СУБД легко можно сделать гораздо более мощную программу. Может быть, в будущем я этим и займусь совместно с желающими поучаствовать в этом, несомненно, богоугодном деле. В программе использованы компоненты сторонних разработчиков, на которые они сохраняют права: 1) Проект JEDI, версия 3 2) DeveloperExpress VCL 2005 (QuantumGrid, MemoryData, dxBar и др.), 3 (Inspector, TreeList) 3) TMS Advanced memo Программа некоммерческая, компоненты лицензированы, поэтому где их будут брать желающие собрать исходники - их личное дело ;) -+- 27/05/2005 Алексей Кошкин