Проблема в том, что вы используете неправильный URL-адрес JDBC. По сути, Jaybird имеет два формата URL-адресов: один соответствует устаревшему формату URL-адресов Firebird, а другой больше соответствует стандартным URL-адресам и URL-адресам, используемым другими драйверами JDBC. Ваш текущий URL-адрес объединяет части обоих форматов, и в результате он не работает, потому что в используемом вами формате он будет интерпретировать 3050/var/lib/firebird/data/corp
как путь к файлу (что приводит к системе не удается найти указанный путь ошибка), а не как порт 3050 и путь к файлу /var/lib/firebird/data/corp
.
Вам нужно использовать рекомендуемый формат
jdbc:firebirdsql://localhost:3050//var/lib/firebird/data/corp
Обратите внимание на двойную косую черту (//
) после порта, это необходимо, иначе путь будет интерпретирован как относительный путь var/lib/...
, а это не то, что вам нужно.
Или без порта (по умолчанию 3050):
jdbc:firebirdsql://localhost//var/lib/firebird/data/corp
Или устаревший формат
jdbc:firebirdsql:localhost/3050:/var/lib/firebird/data/corp
Обратите внимание на косую черту (/
) между хостом и портом и двоеточие (:
) после порта.
Или без порта (по умолчанию 3050):
jdbc:firebirdsql:localhost:/var/lib/firebird/data/corp
См. также URL-адреса JDBC (java.sql.DriverManager
) в разделе Часто задаваемые вопросы о Jaybird и Получение соединения java.sql.DriverManager в Руководстве программиста Java для JDBC-драйвера Jaybird (хотя это документирует только рекомендуемый формат URL).
person
Mark Rotteveel
schedule
01.03.2021