А разве ODBC умеет рассылать события из баз?
Сам по себе нет. Но например для драйвера ASA можно сделать так:
// колбек-обработчик сообщений
void SQL_CALLBACK my_msgproc(
VOID * sqlca,
UNSIGNED CHAR msg_type,
LONG code,
UNSIGNED SHORT len,
CHAR* msg )
{ ... }
// и после установления коннекта:
rc = SQLSetConnectAttr(
dbc,
SA_REGISTER_MESSAGE_CALLBACK,
(SQLPOINTER) &my_msgproc, SQL_IS_POINTER );
Естественно константа SA_REGISTER_MESSAGE_CALLBACK определена в собственном заголовке.