База Знаний: Base. Работа с OOO Base в режиме разделения доступа (многопользовательском) к файлу базы данных .odb
База Знаний: Base. Внешние данные
Template:RU/documentation/needsrework
Режим работы "по умолчанию" с RDBMS [HSQLDB]заголовок ссылки в OOOBase по умолчанию представляет собой однопользовательский неразделяемый режим с правами доступа DBA (В терминах HSQLDB -"SA"-"System Administrator")
Это означает, что одновременно к файлу с вашими данными в HSQLDB может иметь одновременно только один человек и защитить эти данные практически невозможно. Побочной осложняющим эффектом этого режима является возможность работы с данными таблиц default_table_type=memory , то есть только тех, которые помещаются в имеющуюся оперативную память, а переполнение стека данных неизбежно приводит к краху приложения, о чем пестрят сообщения на специализированных форумах.
Однако, существует простой штатный способ подключения файла базы данных в режиме многопользователского разделяемого доступа.
Сначала определим, в каком режиме у вас подключение по умолчанию. Откроем OOO и создадим новую базу данных (ее можно не регистрировать). Исследуем строку статуса OOO Base. [img=[/img] (Рис.1) Как видим, в строке статуса написано "Встроенная база данных". И "База данных HSQL". Создадим нужные нам таблицы, запросы, формы и отчеты и сохраним ее в отдельную директорию, которая должна быть доступна другим пользователям, которых мы хотим подключить к нашей новой базе данных.
Далее 1) Создаем базу данных с расширением odb (В целях упрощения дальнейшего подключения расширение не меняйте, а имена задавайте в соответствии с правилами POSIX, чтобы в дальнейшем возможно было бы подключение, например, через интернет ) 2) Открываем меню Сервис → Настройки → Java → Путь Класса и в свойствах java прописываем путь до java-класса с контейнером hsqldb.jar (рис2) 3) Файл →создать → Новая база данных → подключиться к существуюещей базе данных → выбрать драйвер JDBC 4) Пункт "URL источника данных" прописываем URL в соответсвии с правилами POSIX или в соответсвии с правилами именования URI своей операционной системы. Однако рекомендуется именование в соответствии со стандартом POSIX, поскольку кириллические знаки в противном случае с большой вероятностью придется заменять на их UTF-нотации с процентами (например, пробел будет именоваться %20) [code]hsqldb:file:///home/andrew/separate_db;default_schema=true;shutdown=true;hsqldb.default_table_type=cached;get_column_name=false[/code] SIG! Строка file:///home/andrew/separate_db указывается без расширения odb, поэтому подключаемые файлы должны быть с расширением odb
4.a) В ОС Линукс возможно для файла указывать URL типа [code]http://[user][:passwd]@[host][:path][/code] , [code]ssh://[user][:passwd]@[host][:path][/code], [code]ftp://[user][:passwd]@[host][:path][/code], [code]smb://[user][:passwd]@[host][:path][/code] ... 4.б) В Windows формат строки может быть и cifs-подобным \\server\disk_letter:\path.
5) Далее в пункте "Класс драйвера JDBC указываем [code]org.hsqldb.jdbcDriver[/code] проверяем правильность подключения нажав кнопку "проверить класс". Если возникнет сообщение "JDBC драйвер успешно загружен", то все параметры указаны правильно.
6) Нажимаем кнопку "Тестовое соединение" и должны получить сообщение "Тестирование соединения. Соединение успешно загружено". Если получили, Нажимаем "далее" и указываем имя пользователя "SA" (это суперпользователь HSQLDB, иными словами, DBA).
Сохраняем файл, открываем и работаем с удаленными данными как с локальными.
</Область описания решения>