Я относительно новичок в программировании базы данных. Я использую Firebird 2.5 с IBPP. У меня есть как минимум два приложения, использующие базу данных firebird sampe. Я хочу подключиться со встроенным вариантом (fbembedded.dll, icudt30.dll, icuc30.dll), так как это будет хост-приложение на клиентских ПК. Я написал простое тестовое приложение, которое считывает данные из базы данных и запускает это приложение три раза одновременно. Все сработало.Подключение нескольких приложений к одной базе данных firebird через встроенную dll
Но теперь я не уверен, если это работает всегда, и если это будет работать без опасности для коррумпированных данных. Потому что когда я имею соединение с базой данных с зрелищем ibexpert, мое тестовое приложение не может подключиться к базе данных. Кроме того, documantation саис (firebirdEmbedded):
Вы можете иметь несколько встроенных серверов, работающих одновременно, и вы можете иметь несколько приложений, подключенных к той же встроенному серверу. Наличие очередного сервера, уже запущенного, также не является проблемой. Однако встроенный сервер блокирует файл базы данных для своего собственного после успешного подключения. Это означает, что вы не можете получить доступ к одной и той же базе данных из нескольких процессов встроенного сервера одновременно (или с любых других серверов, когда встроенный сервер заблокировал файл).
Является ли документирование правильным? Мое приложение-образец, похоже, показывает обратное. Раньше у меня был суперсервер Firebird, но он удалил его перед тестированием.
Почему «нужно иметь возможность создавать, читать и писать общие блокировки базы данных»? –
@Ergodicity Я не использую встроенные функции (за исключением тех случаев, когда тестирование встроенной поддержки в JDBC-драйвере для Firebird), но насколько я понимаю, что запуск приложения как пользователя с ограниченными правами может вызвать проблемы, если C: \ ProgramData \ Firebird еще не существует, или пользователь не имеет прав на создание файлов и запись на этот путь. Возможно, вам понадобится убедиться, что путь существует (с правильными привилегиями) при установке приложения. –
Я не создавал несколько программ, используя одну и ту же базу данных одновременно. Итак, подключайтесь из нескольких приложений к одной базе данных firebird через встроенную DLL SEEMS TO WORK в повседневном использовании. В прошлом году ни у меня, ни у тестеров, ни у клиентов не было проблем. Хотя мы не использовали специальные стресс-тесты, чтобы доказать, что он работает при любых условиях. –