База Знаний: Base. Работа с Base в режиме разделения доступа (многопользовательском) к файлу базы данных .odb

From Apache OpenOffice Wiki
< RU‎ | kb
Jump to: navigation, search


Режим работы "по умолчанию" с RDBMS HSQLDB в Apache OpenOffice Base по умолчанию представляет собой однопользовательский неразделяемый режим с правами доступа DBA (В терминах HSQLDB -"SA"-"System Administrator")

Это означает, что одновременно к файлу с данными в HSQLDB может иметь доступ одновременно только один человек и защитить эти данные практически невозможно. Побочным осложняющим эффектом этого режима является возможность работы с данными таблиц default_table_type=memory , то есть только тех, которые помещаются в имеющуюся оперативную память, а переполнение стека данных неизбежно приводит к краху приложения, о чём пестрят сообщения на специализированных форумах.

Однако, существует простой штатный способ подключения файла базы данных в режиме многопользовательского разделяемого доступа.


Сначала определим, в каком режиме настроено подключение по умолчанию. Откроем Apache OpenOffice и создадим новую базу данных (её можно не регистрировать).

Исследуем строку статуса Apache OpenOffice Base.
Рис. 1

Как видим, в строке статуса написано "Встроенная база данных". И "База данных HSQL". Создадим нужные нам таблицы, запросы, формы и отчёты и сохраним её в отдельную директорию, которая должна быть доступна другим пользователям, которых мы хотим подключить к нашей новой базе данных.


Далее:

  1. Создаём базу данных с расширением odb (в целях упрощения дальнейшего подключения расширение изменять не следует, а имена требуется задавать в соответствии с правилами POSIX, чтобы в дальнейшем возможно было бы подключение, например, через интернет).
  2. Открываем меню Сервис → Настройки → Java → Путь Класса и в свойствах java прописываем путь до java-класса с контейнером hsqldb.jar (рис. 2).
  3. Файл → создать → Новая база данных → подключиться к существующей базе данных → выбрать драйвер JDBC.
    • Пункт "URL источника данных" прописываем URL в соответствии с правилами POSIX или в соответствии с правилами именования URI операционной системы. Однако рекомендуется именование в соответствии со стандартом POSIX, поскольку кириллические знаки в противном случае с большой вероятностью придётся заменять на их UTF-нотации с процентами (например, пробел будет именоваться %20). hsqldb:file:///home/andrew/separate_db;default_schema=true;shutdown=true;hsqldb.default_table_type=cached;get_column_name=false
      Documentation caution.png Строка file:///home/andrew/separate_db указывается без расширения odb, поэтому подключаемые файлы должны быть с расширением odb.
    • Documentation linux.png В ОС Линукс возможно для файла указывать URL типа

      http://[user][:passwd]@[host][:path]
      ssh://[user][:passwd]@[host][:path]
      ftp://[user][:passwd]@[host][:path]
      smb://[user][:passwd]@[host][:path]

    • Documentation windows.png В Windows формат строки может быть и cifs-подобным \\server\disk_letter:\path
  4. Далее в пункте "Класс драйвера JDBC указываем org.hsqldb.jdbcDriver проверяем правильность подключения нажав кнопку  проверить класс . Если возникнет сообщение "JDBC драйвер успешно загружен", то все параметры указаны правильно.
  5. При щелчке по кнопке  Тестовое соединение  должно быть получено сообщение "Тестирование соединения. Соединение успешно загружено". Если да, следует щёлкнуть  Далее  и указать имя пользователя "SA" (это суперпользователь HSQLDB, иными словами, DBA).

Сохраняем файл, открываем и работаем с удалёнными данными как с локальными.










Personal tools