Я создаю java-приложение, которое подключается к базе данных Firebird и извлекает некоторые данные. Программа готова, и она хорошо работает на моем компьютере. Проблема в том, что на компьютере, который мне нужен для запуска приложения, база данных находится на другом компьютере в локальной сети, и я понятия не имею, какой путь я должен указать в строке подключения jaybird, чтобы запустить его. Поясню немного:
Мне нужно запустить мое приложение на компьютере X, но фактическая база данных находится не на диске в компьютере, а на компьютере в локальной сети. Что-то вроде этого (это пример, и он воспроизведен у меня дома, а не на самом сайте, который мне нужен, чтобы заставить его работать):
Итак, путь, который он дает мне для базы данных, выглядит примерно так:
Я знаю, что если моя база данных находится на моем диске (например, в C:\Users\john\Desktop), мое подключение к базе данных с помощью Jaybird должно быть примерно таким:
static final String FB_DB_URL = "jdbc:firebirdsql://localhost:3050/C:\\Users\\john\\Desktop\\TEST1.FDB";
FB_connection = DriverManager.getConnection( FB_DB_URL , FB_USER , FB_PASS);
Собственно, именно так мне удалось заставить его работать на моем компьютере. Но в этом случае я понятия не имею, каким должен быть путь. Я пробовал что-то вроде:
static final String FB_DB_URL = "jdbc:firebirdsql://192.168.0.101:3050/\\\\DESKTOP-1UFA09I\\Documents\\TEST1.FDB";
Где «192.168.0.101» — это IPv4-адрес компьютера, на котором находится база данных. Но это дало мне исключение, говорящее, что приложению не удалось найти базу данных. Я думаю, что это самое близкое, что я должен был найти решение, но мне не повезло. Некоторая дополнительная информация:
На обоих компьютерах был отключен брандмауэр, и они могли посылать ping друг другу, так что они, по сути, подключены.
Я использую Firebird 2.5 и Jaybird 2.2.1.
Я также пробовал следующее без везения:
static final String FB_DB_URL = "jdbc:firebirdsql://192.168.0.101:3050/C:\\users\\john2\\Documents\\TEST1.FDB";
Папка является общей (по крайней мере, я так думаю), потому что я могу получить к ней доступ через Windows, а файл базы данных дает всем права на чтение/запись.
Я уверен, что Firebird работает на обоих компьютерах.
Любая помощь в этом вопросе будет принята с благодарностью. Я уверен, что проблема в пути, потому что, как я уже сказал, приложение хорошо работает с базой данных на моем компьютере. Кроме того, если бы вы могли дать мне решение, которое не требует IP-адреса компьютера, на котором хранится БД, это было бы здорово, но я думаю, что все равно смогу получить эту информацию.
ИЗМЕНИТЬ
В целях документирования решение проблемы было следующим:
правильный способ сделать путь к базе данных:
"jdbc:firebirdsql://192.168.0.101:3050/C:\\folder1\\folder2\\TEST1.FDB";
исключение произошло из-за того, что у jaybird, по-видимому, есть проблемы с правами доступа к папке users
на сервере. Поскольку моя БД находилась в папке documents
, это вызывало некоторые проблемы, когда jaybird пытался получить к ней доступ. решение состоит в том, чтобы переместить БД в другую папку в C://