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

From Apache OpenOffice Wiki
< RU‎ | kb
Revision as of 15:06, 18 July 2010 by Sancho (talk | contribs) (опечатка)
Jump to: navigation, search

База Знаний: Base. Внешние данные


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

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

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


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

Исследуем строку статуса {{#if: |Base|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.
    • Template:Documentation/Linux
    • Template:Documentation/Windows
  4. Далее в пункте "Класс драйвера JDBC указываем org.hsqldb.jdbcDriver проверяем правильность подключения нажав кнопку  {{#switch:проверить класс | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = проверить класс }} {{#if:| +  {{#switch:{{{2}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{2}}} }} }}{{#if:| +  {{#switch:{{{3}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{3}}} }} }}{{#if:| +  {{#switch:{{{4}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{4}}} }} }}{{#if:| +  {{#switch:{{{5}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{5}}} }} }}{{#if:| +  {{#switch:{{{6}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{6}}} }} }}. Если возникнет сообщение "JDBC драйвер успешно загружен", то все параметры указаны правильно.
  5. При щелчке по кнопке  {{#switch:тестовое соединение | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = Тестовое соединение }} {{#if:| +  {{#switch:{{{2}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{2}}} }} }}{{#if:| +  {{#switch:{{{3}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{3}}} }} }}{{#if:| +  {{#switch:{{{4}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{4}}} }} }}{{#if:| +  {{#switch:{{{5}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{5}}} }} }}{{#if:| +  {{#switch:{{{6}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{6}}} }} }} должно быть получено сообщение "Тестирование соединения. Соединение успешно загружено". Если да, следует щёлкнуть  {{#switch:далее | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = Далее }} {{#if:| +  {{#switch:{{{2}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{2}}} }} }}{{#if:| +  {{#switch:{{{3}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{3}}} }} }}{{#if:| +  {{#switch:{{{4}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{4}}} }} }}{{#if:| +  {{#switch:{{{5}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{5}}} }} }}{{#if:| +  {{#switch:{{{6}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{6}}} }} }} и указать имя пользователя "SA" (это суперпользователь HSQLDB, иными словами, DBA).

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



Template:RU/documentation/signyear Template:KbBaseBottom

Personal tools