Начало » Использование СУБД » Firebird, HQbird, InterBase » Единоличный захват базы клиентом fbclient.dll 4.0.2.2816
Единоличный захват базы клиентом fbclient.dll 4.0.2.2816 [сообщение #817] |
Wed, 12 October 2022 20:41 |
shalamyansky
Сообщений: 149 Зарегистрирован: August 2022
|
Senior Member |
|
|
Конфигурация:
сервер:
Windows Server 2012
Firebird 4.0.2.2816 (64-bit,pdb)
клиент (локальный, на том же компьютере-сервере):
fbcient 4.0.2.2816
Java 8.0.2410.7
jna 5.12.1
Jaybird 4.0.6.java8
коннект через Jaybird:
spring.datasource.url:jdbc:firebirdsql:local:testbase?encoding=UTF8
У драйвера JDBC Jaybird есть тип коннекта local, который означает, что связываться с базой следует через локальный сервер по протоколу XNET. Так оно везде замечательно и работало, пока не настал день 4.0.2.2816. Теперь Jaybird, который работает через fbclient.dll, вместо того, чтобы связаться с сервером, сам "захватывает" файл, handle файла базы оказывается во владении процесса java.exe. Если я правильно понимаю, а ля embedded режим. Соответственно, ни сервер, ни какой другой "нормальный" клиент больше подключиться к базе не могут, что очень неприятно. Обходится проблема несложно, путем изменения типа коннекта на localhost, но сам факт!
Еще что интересно. Если перед тем как связываться через Jaybird local, предварительно соединиться с этой базой каким-нибудь другим клиентом, то все проходит замечательно, возникает еще одно столь ожидаемое XNET соединение.
И последнее. Если процессу java.exe вместо fbcient 4.0.2.2816 подсунуть fbcient 4.0.1.2631, то тоже без экцессов. В смысле, c access как раз все хорошо.
И совсем последнее. На другой машине с полностью аналогичной конфигурацией, только вместо Windows Server 2012 там Windows 10, опять-таки такие странные дела не замечены.
Может, дело и не в клиенте вовсе. Но я не понимаю, в чем.
|
|
|
Переход к форуму:
Текущее время: Fri Nov 15 05:34:03 GMT+3 2024
Общее время, затраченное на создание страницы: 0.00763 секунд
|