Firebird соединение с Java

Я установил Firebird 2.1 на Windows Xp и использовал драйвер firebirdsql.jdbc-2.1.6 для соединения с Java. Код:

Class.forName("org.firebirdsql.jdbc.FBDriver"); 

connection = DriverManager.getConnection(
    "jdbc:firebirdsql://localhost/3050//C:/firebird/database/EMPLOYEE.FDB", 
    "test","test"); 

Я получаю следующую ошибку:

Вызывается: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544375.
недоступная база данных 
Причина: недоступная база данных в 
org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:122) в 
org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:140) в 
java.sql.DriverManager.getConnection(DriverManager.java:525) в 
java.sql.DriverManager.getConnection(DriverManager.java:171)

Пожалуйста помоги.

Проблема решена: На самом деле у меня была проблема с файлом JAR, который я получил от

http://mirrors.ibiblio.org/pub/mirrors/maven2

Я скачал jaybird-full-2.1.6.jar с официального сайта firebird, и проблема была решена.

Правильный URL-адрес

"jdbc:firebirdsql://localhost:3050/C:\\firebird\\database\\EMPLOYEE.FDB"

Я пробовал этот URL ранее, но он не работал из-за проблемы с флягой.

7 ответов

Из https://www.firebirdsql.org/file/documentation/drivers_documentation/java/faq.html

Формат URL по умолчанию:

"jdbc:firebirdsql://host[:port]/<database>"

Устаревший, но все еще поддерживаемый устаревший формат URL:

"jdbc:firebirdsql:host[/port]:<database>"

Тогда правильный URL должен быть:

"jdbc:firebirdsql://localhost:3050/C:/firebird/database/EMPLOYEE.FDB"

Как отмечает @Thorbjørn Ravn Andersen, ваш URL JDBC Jaybird неверен. Синтаксис jdbc:firebirdsql:[host[/port]:]<database>, Вам нужно двоеточие между хостом / портом и путем к базе данных. Возможно, что-то вроде этого:

"jdbc:firebirdsql://localhost/3050:C:\\firebird\database\EMPLOYEE.FDB"

Ой, я ушел в ведущие косые черты; попробуй это:

"jdbc:firebirdsql:localhost/3050:C:\\firebird\database\EMPLOYEE.FDB"

Приложение: Вы можете запустить список распространенных ошибок. Кроме того, мои файлы базы данных Firebird заканчиваются на .fdb, но часто задаваемые вопросы упоминают .gdb, Это не помешает проверить.

Просмотр документации на этом сайте: http://www.firebirdsql.org/file/documentation/drivers_documentation/java/faq.html, пункт 3.1.

Кажется, что после [порта] у вас должна быть косая черта "/" или двойная косая черта "//" на случай, если вы захотите подключиться на сервере Linux.

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

JDBC:firebirdsql:34.212.208.251/3050:/opt/app/db/sample_training.fdb

Пример строки подключения для Apache Tomcatproperties.xmlс указанным IP, портом, псевдонимом базы данных и кодировкой:

<entry key="db.url">jdbc:firebirdsql:127.0.0.1/2222:my-db-alias?lc_ctype=WIN1251</entry>

Вы должны попробовать это. У меня работает на Windows.

jdbc:firebirdsql://localhost:3050/C:\firebird\database\EMPLOYEE.FDB

Также убедитесь, что вы добавили исключение для порта 3050 в брандмауэр.

Ваш URL, скорее всего, поврежден для этого драйвера.

Прикрепите фактический источник к банке и установите точку останова в FBDataSource.getConnection(...) и посмотрите, какие значения действительно присутствуют при попытке установить соединение.

Вы абсолютно уверены, что комбинация имени хоста с портом совпадает с путем к файлу FDB?

Другие вопросы по тегам