@8bitjoey

Как заставить программу с embedded firebird работать с удаленной базой?

Есть одна программа для ведения домашней бухгалтерии (Sanuel Family), которая, судя по библиотеке fbclientd20.dll и *.fdb файлам, использует эмбед-версию СУБД firebird. Сейчас она установлена на одном компьютере с удаленным доступом, через который и осуществляется работа с программой.
Удобнее было бы иметь по клиенту на каждом ПК с одной базой. Одним из простых решений было бы разместить базу в дропбоксе, однако, пользователи сообщают о возникающих проблемах и поломках базы (грешат на синхронизацию дропбокса, за правильность гипотезы не ручаюсь).
Была идея написать прокси-библиотеку, передающую через сеть данные на удаленную машину, где данные скармливаются локальной базе и ответ отсылается обратно. И это, пожалуй, работало бы, но тут недостаточно использовать какой-нибудь автогенератор прокси-dll, не говоря уже о бэкенде.
Чувствую, что есть какое-то другое решение, попроще. Может быть подобные средства уже есть? Может быть можно заменить embed-версию библиотеки на не-embed и прописать удаленный адрес базы в conf?
Гарантируется использование программы только одним клиентом в текущий момент времени.
  • Вопрос задан
  • 2652 просмотра
Пригласить эксперта
Ответы на вопрос 1
@BorHblK
Был Support, Стал QA
100% решение не подскажу (с программирование знаком весьма отдалённо), но могу подсказать как работает ФБ. Для работы по сети на компе котором хранится БД - должен быть установлен FireBirdServer, который будет готов работать по сети. На клиентских машинах достаточно набора библеотек с помощью которых Клиентское приложение будет обращатся по сети с машиной хранящей БД. Обычно это GDS32.dll (либо fbclient.dll), msvcp71.dll и msvcr71.dll. Как заставить конкретно ваше приложение обращатся к Сетевой БД - уже другой вопрос. Стандартная путь для сетевого подключения обычно выглядит так: IP/Port:<Путь к бд>. Допустим 192.168.0.5/3050:D:\Sanuel\DB\sanuel.fdb . 3050 дэфалтный Порт подключения.
З.Ы. Библиотеки клиента и сервера должны быть одинаковыми иначе могут всплыть нюансы. Например известен случай когда клиентская библиотека ФБ 2.5.2 ложил сервер ФБ 2.0.3
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы