powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Работа с firebird под python
7 сообщений из 7, страница 1 из 1
Работа с firebird под python
    #39576998
rosat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь работал с библиотекой 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

В чем может быть дело?
...
Рейтинг: 0 / 0
Работа с firebird под python
    #39577021
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с firebird под python
    #39577065
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леди и джентльмены, а сама идея с эвентом точно хороша? Я дико извиняюсь что мне лень поднимать доку, но склероз мне шепчет, что подписчик получает извещение на коммите, а не на инсёрте. Что есть правильно, имхо. То есть, в случае инсёртов в затяжной транзакции оперативное получение извещений с триггера - иллюзия. Я не хочу сказать, что так делать нельзя. Просто чтобы девушка подумала ещё раз - а то ли она делает, что хочет.
...
Рейтинг: 0 / 0
Работа с firebird под python
    #39577110
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПМ> в случае инсёртов в затяжной транзакции оперативное
СПМ> получение извещений с триггера - иллюзия.

Это зависит от версии и как написать, я уже как-то подсказывал решение.

P.S. Топик и проблему/задачу ТСа не читал.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Работа с firebird под python
    #39577296
rosat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сохранение записи будет в другой программе. А данная программа должна отслеживать появление новой записи. Я в свое время писала программу на Delphi с такой же задачей, у меня все работало нормально. На python пишу недавно, поэтому не знаю как исправить возникшую ошибку.
...
Рейтинг: 0 / 0
Работа с firebird под python
    #39577299
rosat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобралась:
надо после
conduit = con.event_conduit(['new_date'])
поставить команду conduit.begin()
Тогда все работает
...
Рейтинг: 0 / 0
Работа с firebird под python
    #39577392
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Работа с firebird под python
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]