2014-10-12 3 views
1

Мне нужно создать несколько отчетов с помощью LibreOffice. Мне нужно подключить базу данных Firebird с помощью JDBC. Я установил драйвер (при добавлении его к классам) и сконфигурированный мое соединение использоватьКак подключиться к Firebird с помощью LibreOffice

firebirdsql://server:alias 
org.firebirdsql.jdbc.FBDriver 

, когда я проверить класс я получаю эту ошибку:

"could not load driver class org.firebirdsql.jdbc.FBDriver" 
javax/resource/ResourceException 

я попробовал в другой машине и получил то же самое сообщение. Есть ли что-то дополнительное, что нужно добавить в classpath? Что мне здесь не хватает? У меня установлены как JRE, так и JDK, и я использую первый, расположенный в C: \ Program Files (x86) \ Java \ jre7. Там нет переменной пути к классам среды определяется ни глобальной или для пользователя

+0

Не можете оставить комментарий? – msrd0

+0

Спасибо. При настройке соединения с базой данных (типа конфигурации ODBC) код отсутствует. Код приходит после достижения соединения. Я выполнил эти [инструкции] (https://help.libreoffice.org/Common/JDBC_Connection). Ошибка при тестировании класса драйвера. Я уверен, что имя драйвера класса правильно, как показано [здесь] (http://www.firebirdsql.org/file/documentation/drivers_documentation/Jaybird_2_1_JDBC_driver_manual.pdf) – alvaroc

+1

Вы не забыли добавить 'lib/connector-api-1.5 .jar' в ваш путь класса LibreOffice (в дополнение к добавлению jaybird-2.2.5.jar)? Кроме того, вы заметили, что формат URL-адреса источника данных для OpenOffice/LibreOffice Base - это 'jdbc: firebirdsql: oo: // host [: port]/' (обратите внимание на дополнительную ': oo')? –

ответ

2

Jaybird имеет требуемую зависимость от JCA (Java Architecture Connector), в частности, JCA 1.5 (хотя более новые должны работать, а), как описано в Jaybird 2.2.5 releasenotes,

Это означает, что вам нужно включить либо connector-api-1.5.jar (из папки lib) в путь класса, либо вам нужно использовать jaybird-full-2.2.5.jar, так как это включает классы от connector-api-1.5.jar.

Кроме того, ваш URL неверен на две вещи: Формат URL является

jdbc:firebirdsql[:<subprotocol>]://<host>[:<port>]/<path-or-alias> 

Что означает, что :alias неправильно (это должно быть /alias). И, как также замечает Горд Томпсон в комментариях, вам нужно использовать подпротокол oo, поэтому вам необходимо использовать префикс протокола jdbc:firebirdsql:oo для устранения различий в интерпретации JDBC, также как и зарегистрировано here. Поэтому ваш URL должен, вероятно, выглядеть так:

jdbc:firebirdsql:oo://server/alias 
+0

Спасибо вам обоим. Работала гладко. Я не мог подробно рассказать о строке подключения, поскольку соединение даже не удалось сделать. Jdbc: не был включен, поскольку LibreOffice вставляет его и даже не позволяет его изменять. Я также пробовал без подпротокола «oo», а также работал нормально – alvaroc

+0

@alvaroc без ': oo' будет работать, но есть некоторые edgecases, которые вы можете столкнуться с закрытыми наборами результатов, и - в зависимости от конфигурации - могут появиться некоторые таблицы readonly, даже если у вас есть достаточные права, см. вторую ссылку. –

Смежные вопросы