Все записи автора Apa Pacy

OpenOffice Base — подключение к серверу баз данных

В предыдущем сообщении описан процесс установки среды для работы с базами данных - сервер PostgreSQL и пакет OpenOffice версии 2.4.1 или выше. Кроме того описано как установить некоторые плагины/расширения для OpenOffice. Сейчас для нас важно иметь плагин/расширение postgresql-sdbc для прямого доступа к серверу PostgreSQL. Не все релизы плагинов/расширений совместимы с конкретным релизом OpenOffice. О чем могут выдаваться предупреждающе сообщения, а могут и не выдаваться.

Если плагин/расширение установлен правильно, он должен иметь статус Enabled в окне Tolls|Extension Manager, вызываемого из Главного меню OpenOffice. Если это так - подключимся к существующей базе данных PostgreSQL. (Создание баз данных в PostgreSQL выходит за рамки этой серии сообщений, поскольку уже хорошо описано в документации PostgreSQL).

Вызываем из Главного меню OpenOffice File|New|Database.
В появившемся диалоге выбираем радиокнопку Connect to an existing database.
В активном выпадающем списке выбираем postgresql. Если этот тип появился там. Если нет - пробуем загрузить другую версию плагина/расширения  postgresql-sdbc.

Далее вводим строку параметров подключения

host=localhost dbname=somedatabase user=someuser password=somepassword

Если Вы еще не корректировали Ваш файл data/pg_hba.conf, в котором заданы параметры подключения как

host all all 127.0.0.1/32 trust

ваша строка подключения будет еще проще 

host=localhost dbname=somedatabase

Напоминаю, что при такой конфигурации Вы можете подключаться к серверу только с локального компьютера, то есть на котором работает сервер.

Далее Вам предложат сохранить новую базу данных OpenOffice в файловой системе и зарегистрировать ее  в списке источников данных. Сохранив новую базу данных OpenOffice, откройте Tools|Options|OpenOffice.com Base|Databases, где вы можете просмотреть и изменить символическое имя базы данных и полный путь к файлу базы данных в файловой системе. Эти сведения мы будем использовать в своих программах для создания объектов из языка OO Basic. По умолчанию символическое имя равно имени файла базы данных OpenOffice, но это всегда можно изменить.

И в заключении о "родном" формате Баз Данных OpenOffice - HSQL. В отличие от MS Access - это чисто монопольная база данных. Поэтому не стоит углубляться в тонкости работы с этим форматом. Тем более, что все базы данных доступны в OpenOffice через интерфейс sdbc (аналог odbc и jdbc). Так что разница в работе будет минимальной. Практически ее не будет. Пока.

OpenOffice Base — подключение к серверу баз данных

В предыдущем сообщении описан процесс установки среды для работы с базами данных - сервер PostgreSQL и пакет OpenOffice версии 2.4.1 или выше. Кроме того описано как установить некоторые плагины/расширения для OpenOffice. Сейчас для нас важно иметь плагин/расширение postgresql-sdbc для прямого доступа к серверу PostgreSQL. Не все релизы плагинов/расширений совместимы с конкретным релизом OpenOffice. О чем могут выдаваться предупреждающе сообщения, а могут и не выдаваться.

Если плагин/расширение установлен правильно, он должен иметь статус Enabled в окне Tolls|Extension Manager, вызываемого из Главного меню OpenOffice. Если это так - подключимся к существующей базе данных PostgreSQL. (Создание баз данных в PostgreSQL выходит за рамки этой серии сообщений, поскольку уже хорошо описано в документации PostgreSQL).

Вызываем из Главного меню OpenOffice File|New|Database.
В появившемся диалоге выбираем радиокнопку Connect to an existing database.
В активном выпадающем списке выбираем postgresql. Если этот тип появился там. Если нет - пробуем загрузить другую версию плагина/расширения  postgresql-sdbc.

Далее вводим строку параметров подключения

host=localhost dbname=somedatabase user=someuser password=somepassword

Если Вы еще не корректировали Ваш файл data/pg_hba.conf, в котором заданы параметры подключения как

host all all 127.0.0.1/32 trust

ваша строка подключения будет еще проще 

host=localhost dbname=somedatabase

Напоминаю, что при такой конфигурации Вы можете подключаться к серверу только с локального компьютера, то есть на котором работает сервер.

Далее Вам предложат сохранить новую базу данных OpenOffice в файловой системе и зарегистрировать ее  в списке источников данных. Сохранив новую базу данных OpenOffice, откройте Tools|Options|OpenOffice.com Base|Databases, где вы можете просмотреть и изменить символическое имя базы данных и полный путь к файлу базы данных в файловой системе. Эти сведения мы будем использовать в своих программах для создания объектов из языка OO Basic. По умолчанию символическое имя равно имени файла базы данных OpenOffice, но это всегда можно изменить.

И в заключении о "родном" формате Баз Данных OpenOffice - HSQL. В отличие от MS Access - это чисто монопольная база данных. Поэтому не стоит углубляться в тонкости работы с этим форматом. Тем более, что все базы данных доступны в OpenOffice через интерфейс sdbc (аналог odbc и jdbc). Так что разница в работе будет минимальной. Практически ее не будет. Пока.

Начинаем работу с OpenOffice Base

Кому предназначен этот пост - прежде всего мне. Если Вы ищете средство для быстрой разработки интерфейса к серверу баз данных, например 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. Для этого хватает специализированных ресурсов. Пока.

Начинаем работу с OpenOffice Base

Кому предназначен этот пост - прежде всего мне. Если Вы ищете средство для быстрой разработки интерфейса к серверу баз данных, например 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. Для этого хватает специализированных ресурсов. Пока.