其他程序往sql server数据库的表中写入数据,目前无法获取程序的接口。
表的简易结构如下:
id 事件代码 事件发生时间在数据库的表发生变动时,一般情况是最新的事件加入表中, 我的程序想要尽早获取到这个事件,请问如何实现?方法1、可能让sql数据库通过某个接口自动通知我的程序吗? sql server是否有这个功能?
方法2、我能想到的方法,就是在我的程序中开辟一个线程不断查询数据库,当数据库表的事件时间有更新时执行相关操作。
但是感觉这样子会对数据库造成较大的负担,而且不够实时。请问有更好的更可行的方法吗?
表的简易结构如下:
id 事件代码 事件发生时间在数据库的表发生变动时,一般情况是最新的事件加入表中, 我的程序想要尽早获取到这个事件,请问如何实现?方法1、可能让sql数据库通过某个接口自动通知我的程序吗? sql server是否有这个功能?
方法2、我能想到的方法,就是在我的程序中开辟一个线程不断查询数据库,当数据库表的事件时间有更新时执行相关操作。
但是感觉这样子会对数据库造成较大的负担,而且不够实时。请问有更好的更可行的方法吗?
触发器 + sp_oa系列存储过程 + 你自己写好的com组件
如果你用.net还可以设置基于数据库的缓存依赖,一但表中有变更,缓存失效,这时就可以去处理,而不必定时去刷数据库。
CREATE TRIGGER my_trig ON tbname FOR INSERT, UPDATE
AS
做你想通知的事情.
GO