Ошибка ввода/вывода во время операции CreateFile (открытия) для файла 3050/var/lib/firebird/data/corp. Система не может найти указанный путь

Я получаю сообщение об ошибке Системе не удается найти указанный путь при попытке подключения к Firebird 3.0 с помощью SymmetricDS. Вот ошибка и конфигурация моего корневого узла (engine.name=corp-000).

# The class name for the JDBC Driver 
db.driver=org.firebirdsql.jdbc.FBDriver

# The JDBC URL used to connect to the database
db.url=jdbc:firebirdsql:localhost:3050/var/lib/firebird/data/corp

Вот ошибка, которую я получаю

введите здесь описание изображения

Я попытался включить устаревшую аутентификацию, как указано в документации SymmetricDS, но безрезультатно:


person Edward Chome    schedule 01.03.2021    source источник


Ответы (1)


Проблема в том, что вы используете неправильный 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