Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C程序获取Oracle触发器结果_C_Oracle_Triggers_Daemon - Fatal编程技术网

从C程序获取Oracle触发器结果

从C程序获取Oracle触发器结果,c,oracle,triggers,daemon,C,Oracle,Triggers,Daemon,我有一个在linux下用C编写的守护进程,我希望在Oracle数据库中的表发生更改(更新或插入表)时通知守护进程。似乎触发器或dbms\u调度器可能会有所帮助,有什么想法吗(例如,带有无限while循环的代码片段)?谢谢。更好的方法是使用DBMS_AQ包。您可以将触发器post发送到队列,c客户机等待队列条目读回。谷歌DBMS_AQ并阅读有关它的oracle文档。它比经常轮询表更有效。下面是一个使用OCI的示例—在C中需要进行大量编码。您需要如何处理通知数据?如果是更多的数据库处理,那么您很可能

我有一个在linux下用C编写的守护进程,我希望在Oracle数据库中的表发生更改(更新或插入表)时通知守护进程。似乎
触发器
dbms\u调度器
可能会有所帮助,有什么想法吗(例如,带有无限while循环的代码片段)?谢谢。

更好的方法是使用DBMS_AQ包。您可以将触发器post发送到队列,c客户机等待队列条目读回。谷歌DBMS_AQ并阅读有关它的oracle文档。它比经常轮询表更有效。下面是一个使用OCI的示例—在C中需要进行大量编码。您需要如何处理通知数据?如果是更多的数据库处理,那么您很可能可以使用pl/sql在数据库中完成这一切。此外,您不必提及在C程序中使用什么db access库来访问数据库。请指定。@OldProgrammer:我使用的是Oracle PRO*COK,这样做会更简单。看看DBMS_-AQ。@OldProgrammer:谢谢,但似乎只有OCI才有PRO*C的API!