如何在程序中得到数据库中表的变化信息?

smilingday 2005-07-22 08:35:41
我开发程序中需要得到其他程序对数据库表的更新信息,如增加一条记录,修改一条记录(最好可以得到具体的修改信息),采用定时刷新的办法有些问题1;浪费资源,需要不断的从后台读数据,效率低,2刷新得到数据后无法立即得知都有哪些记录修改了。不知数据库中有没有一种类似触发器的功能,可以发布消息到我的程序中。我看了profile,不知道它是怎么实现的,他功能可能对我的需要来说,有些太强大了。
...全文
102 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
smilingday 2005-08-11
  • 打赏
  • 举报
回复
感谢各位的帮助!谢谢!
zjcxc 2005-07-26
  • 打赏
  • 举报
回复
在 profile 中建立跟踪后,你可以单击"文件"--"脚本跟踪"--得到"建立当前跟踪设置的T-SQL脚本".
zjcxc 2005-07-26
  • 打赏
  • 举报
回复
profile 是sql server提供的功能,你不能利用它的接口.

只是你可以利用T-SQL实现与profile一样的功能.
你可以使用
sp_trace_create 建立一个跟踪
sp_trace_setevent 为跟踪设置要跟踪的事件
sp_trace_setfilter 为跟踪设置要跟踪的事件设置筛选条件
sp_trace_setstatus 启动,停止或者删除跟踪
zjcxc 2005-07-26
  • 打赏
  • 举报
回复
无论用触发器,还是用 profile ,它都会对你的数据库产生较大的影响.

smilingday 2005-07-25
  • 打赏
  • 举报
回复
因为要监视很多表的数据变化,所以如果用触发器,会用很大的工作量,所以想请教各位高手,有没有比较简单的办法,直接截获sql server对数据的修改,或者在其中嵌入一些发布修改消息的功能。
good2speed 2005-07-22
  • 打赏
  • 举报
回复
用触发器应该就可以。把你的com包起来,用SQL调用就行了。

不过我觉得你应该让那个更新数据的程序来发消息,而不是SQL server
netcoder 2005-07-22
  • 打赏
  • 举报
回复
使用触发器,将数据更新的信息保存到另外一张表(数据更新log表)

再写一个程序,每若干秒查询一下log表,即可
相关推荐
发帖
应用实例

2.7w+

社区成员

MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
帖子事件
创建了帖子
2005-07-22 08:35
社区公告
暂无公告