База Знаний: Base. Связывание OpenOffice.org с MySQL сервером

From Wiki
Jump to navigationJump to search


Материал для этой статьи сформулирован на основе обсуждения
в community.i-rs.ru.

Создание соединения с сервером MySQL

Для связи InfraOffice.pro / OpenOffice.org с MySQL сервером необходимо выполнить следующие действия.

  1. Создать новый документ InfraOffice.pro Base;
  2. Подключиться к существующей базе данных (выбрать MySQL), щёлкнуть кнопку  Далее ;
  3. Выбрать Прямое соединение, щёлкнуть  Далее ;
  4. Заполнить поля:
    • ввести имя базы данных в MySQL (например test);
    • в поле Сервер ввести IP сервера MySQL;
    • в поле Порт ввести порт прослушиваемый MySQL сервером (по умолчанию это 3306);
    • щёлкнуть кнопку  Далее ;
  5. Имя пользователя оставить пустым, дабы не писать код по запросу логина и пароля у пользователя. Если InfraOffice.pro Base делается для собственного пользования, можно указать свой логин на MySQL, тогда Base при открытии автоматически будет создавать соединение с MySQL по заданному логину и паролю;
    • если требуется ввод пароля, то установить соответствующий флаг. Если его не поставить, Base не будет запрашивать ввод логина и пароля при запуске (предполагается, что логин и пароль для подключения к MySQL не требуются);
  6. отметить флаг  Да, зарегистрировать базу данных , щёлкнуть кнопку  Далее ;
  7. выбрать место для файла InfraOffice.pro Base и сохранить его.


Всё, файл готов к работе.

Работа с созданным соединением

Теперь, при открытии, если логин оставлен пустым, всплывёт окно Требуется аутентификация, в которое необходимо ввести логин и пароль, и щёлкнуть  ОК .


Получение соединения

Далее, для того чтобы получить соединение из программы, необходимо ввести следующий код:

oDB = ThisDatabaseDocument.CurrentController.ActiveConnection


Выполнения запроса

1. Для удаления, обновления, ... (изменение данных):

oStmt = oDB.createStatement()
sSql = "DELETE FROM test.table WHERE ID = 1;"
oStmt.executeUpdate(sSql)


2. Для выполнения запросов на выборку (не изменяются данные):

oStmt = oDB.createStatement()
sSql = "SELECT t.* FROM test.table AS t WHERE t.ID = 1;"
oResult = oStmt.executeQuery(sSql)
while oResult.next
'обработка данных возвращенных MySQL сервером
wend






InfraOffice.pro 3.1.x









К началу страницы