Firebird и Hibernate — как указать роль БД?

Я работаю над новым проектом по преобразованию нашей системы Delphi + Firebird в Java 8/JavaFX/JPA (Hibernate) и Firebird. Мы используем последнюю версию Jaybird и подключаемся к базам данных Firebird 1.5, Firebird 3.0 и InterBase XE3. Я не нашел никакой документации по подключению к БД с указанием роли БД. Есть ли способ сделать это?


person David Culbertson    schedule 09.08.2016    source источник
comment
Jaybird не поддерживает InterBase XE3, а если и работает, то случайно.   -  person Mark Rotteveel    schedule 10.08.2016


Ответы (1)


Чтобы указать роль пользователя, необходимо указать свойство roleName в строке подключения. См. также Расширенные свойства соединения в Jaybird JDBC Driver Java Programmer's Руководство.

Пример строки подключения:

jdbc:firebirdsql://localhost/database?charSet=UTF-8&roleName=myrole
person Mark Rotteveel    schedule 10.08.2016
comment
Мне удалось подключиться с помощью: ‹property name=hibernate.connection.url›jdbc:firebirdsql:cbcs2k8:/cw2db/test347.GDB?roleName=CWUSR;‹/property› . Но если я вставил charSet=UTF-8, он выдал ошибки. Спасибо за помощь, Марк. - person David Culbertson; 10.08.2016
comment
@DavidCulbertson В чем была ошибка? Какая версия Jaybird и Firebird? - person Mark Rotteveel; 11.08.2016
comment
@DavidCulbertson Также обратите внимание, что файл конфигурации, который вы используете, представляет собой XML, поэтому & необходимо записать как & (или вы можете использовать ;) - person Mark Rotteveel; 11.08.2016
comment
GDB является устаревшим расширением, и его не рекомендуется запускать с WinXP. - person Arioch 'The; 11.08.2016