IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
Saltaev
- Сообщения: 6
- Зарегистрирован: 25 апр 2006, 13:24
Сообщение
Saltaev » 27 июн 2006, 22:52
Сервер Firebird обслуживает кассовый терминал. Алгоритм печати чеков таков, что каждая следующая позиция чека печатается только после подтверждения транзакции в которой фиксируется факт печати предыдущей позиции. При обрыве подачи электропитания произошло следующее: чек отпечатался полностью и даже был закрыт и отрезан, т. е. как минимум подтверждены 3 транзакции, следующие друг за другом, однако в БД нет сведений о том что позиции чека были отпечатаны. Вероятность ошибки ПО весьма маловероятна - проверялось и не подводило.
Понятно, что Firebird "скидывает" информацию на диск о подтвержденных транзакциях с некоторой задержкой и судя по всему эта задержка может составлять несколько секунд.
Как эту задержку отменить или минимизировать?
Информация о версиях:
- gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
Firebird TCP/IP server version LI-V1.5.2.4731 Firebird 1.5
Kernel 2.6.9-1.667 on an i686
27.06.2006
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 27 июн 2006, 23:25
gcc version
при чем тут gcc? как бы, собирать FB для промышленного применения можно только если ты в себе и компиляторе уверен на 100%. В остальных случаях надо брать готовый дистрибутив.
Насчет "отложенной записи" - тебе надо проверить базу на предмет Forced Write Off (можно gstat -h, можно IBAnalyst-ом). Если оно так, переключить в ON командой gfix db.gdb -write sync, и проверить еще раз.
-
Saltaev
- Сообщения: 6
- Зарегистрирован: 25 апр 2006, 13:24
Сообщение
Saltaev » 02 июл 2006, 12:14
kdv писал(а):при чем тут gcc?
Не, gcc используется для написания клиентской программы, в частности C++ драйвера Firebird. Сам Firebird указанной версии используется "как есть".