Кому предназначен этот пост — прежде всего мне. Если Вы ищете средство для быстрой разработки интерфейса к серверу баз данных, например PostgreSQL — значит, возможно, и Вам.

Для 99% случаев, данные стоит хранить на SQL-сервере, не обязательно MS. Не ввязываясь в полемику какой сервер круче, замечу, что бесплатных и легко администрируемых серверов в настоящее время предостаточно. К известным всем решениям я могу добавить только свеженький Cubrid-сервер.

Сервер баз данных — это, конечно, хорошо. Но на чем писать клиентскую часть? Практически все средства быстрой разработки коммерческие. И даже если это стоит недорого — никто не застрахован от наличия в руководстве зациклившихся на своем Эго субъектов, от которых зависит решение. Мне приходилось слышать разные типы отказов от «то же самое можно сделать и в Excel» до «я Вам напишу это за день на Делфях и оба будем счастливы«. И вот по крайней мере с версии 2.0 OpenOffice уже содержит хороший набор средств для быстрой разработки клиентской части баз данных. Эти средства пока мало востребованы. Основная причина, на мой взгляд — отсутствие документации. Прошло 5 лет, вышел очередной релиз — OpenOffice 3, наконец, фрагменты кода стали гулять в Интернете. Вышла подробная книга на английском языке и первая книга на русском о программировании на языке OO Basic для OpenOffice и OpenOffice Base.

Дальнейшая часть сообщения посвящена подготовке рабочей среды.

При выборе сервера баз данных, я остановился на PostgreSQL. Его очень легко установить и администрировать. Кроме того, есть хороший плагин для OpenOffice, позволяющий работать без технологий ODBC/JDBC напрямую с сервером. Итак, нам потребуется архив для установки без инсталляции с сайта www.postgresql.org. На сегодня это postgresql-9.1.3-2-windows-binaries.

Этот архив распаковываем  в любую папку/каталог. Далее открываем папку/каталог bin и выполняем команду

initdb.exe -D ../data —locale=Russian_Russia.1251 —encoding=utf-8

Теперь в папке/каталоге data (можно выбрать любое другое имя) будут находиться ваши/наши базы данных. Далее стартуем сервер.

pg_ctl.exe -D ../data start

Не забываем культурно останавливать сервер.

pg_ctl.exe -D ../data stop
 
Для создания баз данных, таблиц и других объектов удобнее всего воспользоваться программой pgAdmin3.exe, которая расположена в папке/каталоге bin. Программа имеет удобный графический интерфейс.

Для начала работы необходимо разобраться с файлом data/pg_hba.conf, в котором содержаться правила доступа к серверу баз данных с различных хостов. По умолчанию возможен только неограниченный доступ с локального компьютера, что определяется строкой в файле

host     all     all     127.0.0.1/32     trust

Впрочем, защита данных это особый разговор.

Теперь загружаем OpenOffice. Я выбрал portable версию 2.4.1. Она сравнительно легковесна и в ней работают все нужные плагины/расширения. Далее Вам потребуется Java. Я поставил себе jre1.4.2, как вполне достаточную и легковесную. Эту программу надо зарегистрировать в OpenOffice из главного меню Tools|Option|OpenOffice.org|Java. Теперь можно загружать плагины/расширения. Их нам потребуется два.

Первый — postgresql-sdbc для прямого доступа к серверу PostgreSQL. Второй- OceanBasicTool, который включает Xray — средство для просмотра свойств и методов объектов. При дефиците документации это средство дает ощутимую помощь.

Плагины/расширения инсталлируют из главного меню OpenOffice Tools|Extension Manager|Add…

Все готово для начала работы. Я не буду описывать как создавать базы данных и таблицы в PostgreSQL. Для этого хватает специализированных ресурсов. Пока.

От Apa Pacy