Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.12.2017, 16:44
|
|||
|---|---|---|---|
|
|||
Работа с firebird под python |
|||
|
#18+
Кто-нибудь работал с библиотекой fdb для python? Я в базе firebird создала триггер: CREATE OR ALTER TRIGGER DATE_VALUE_BI2 FOR DATE_VALUE ACTIVE BEFORE INSERT POSITION 2 AS BEGIN post_event 'new_date'; END чтобы получать уведомления как только в таблицу DATE_VALUE добавляются новые данные. На python использую библиотеку fdb: import fdb our_pathDB='D:\COUNTERS.FDB'#'D:\COUNTERS.FDB' /var/lib/firebird/2.5/COUNTERS.FDB /home/pi/kpu/COUNTERS.FDB our_userDB='sysdba' our_passwordDB='masterkey' our_hostDB='127.0.0.1' con = fdb.connect(database=our_pathDB, host=our_hostDB, user=our_userDB, password=our_passwordDB,charset= 'WIN1251') conduit = con.event_conduit(['new_date']) result = conduit.wait() print result conduit.close() con.close() При запуске возникает следующая ошибка: Traceback (most recent call last): File "H:/����/���������/Analise_KPU/post_event.py", line 23, in <module> result = conduit.wait() File "C:\Python27\lib\site-packages\fdb\fbcore.py", line 2088, in wait raise ProgrammingError("Event collection not initialized. It's necessary to call begin().") fdb.fbcore.ProgrammingError: Event collection not initialized. It's necessary to call begin(). Exception AttributeError: "'EventConduit' object has no attribute '_EventConduit__process_thread'" in <bound method Connection.__del__ of <fdb.fbcore.Connection object at 0x01B35D30>> ignored В чем может быть дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.12.2017, 18:16
|
|||
|---|---|---|---|
|
|||
Работа с firebird под python |
|||
|
#18+
Леди и джентльмены, а сама идея с эвентом точно хороша? Я дико извиняюсь что мне лень поднимать доку, но склероз мне шепчет, что подписчик получает извещение на коммите, а не на инсёрте. Что есть правильно, имхо. То есть, в случае инсёртов в затяжной транзакции оперативное получение извещений с триггера - иллюзия. Я не хочу сказать, что так делать нельзя. Просто чтобы девушка подумала ещё раз - а то ли она делает, что хочет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.12.2017, 20:12
|
|||
|---|---|---|---|
|
|||
Работа с firebird под python |
|||
|
#18+
СПМ> в случае инсёртов в затяжной транзакции оперативное СПМ> получение извещений с триггера - иллюзия. Это зависит от версии и как написать, я уже как-то подсказывал решение. P.S. Топик и проблему/задачу ТСа не читал. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2017, 10:24
|
|||
|---|---|---|---|
|
|||
Работа с firebird под python |
|||
|
#18+
Сохранение записи будет в другой программе. А данная программа должна отслеживать появление новой записи. Я в свое время писала программу на Delphi с такой же задачей, у меня все работало нормально. На python пишу недавно, поэтому не знаю как исправить возникшую ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2017, 10:32
|
|||
|---|---|---|---|
|
|||
Работа с firebird под python |
|||
|
#18+
Разобралась: надо после conduit = con.event_conduit(['new_date']) поставить команду conduit.begin() Тогда все работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2017, 13:25
|
|||
|---|---|---|---|
|
|||
Работа с firebird под python |
|||
|
#18+
rosatfdb.fbcore.ProgrammingError: Event collection not initialized. It's necessary to call begin(). rosatРазобралась: надо после conduit = con.event_conduit(['new_date']) поставить команду conduit.begin() Удивительная догадливость. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=40&tablet=1&tid=1561287]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 172ms |

| 0 / 0 |
