日期:2014-05-18  浏览次数:20595 次

超级难的问题(急)
问题是这样的:
系统A(cs的,没有源码,不可能修改了)对数据库B(mssql)进行操作,操作包括增加、删除、修改,

要在系统A对数据库B操作的时候,把操作的数据同步到其他服务器的数据库上,目前使用的是mssql的触发器,

但发现系统A操作数据并不是使用sql语句的(部分是),而是exec sp_cursor 180150237,40,1之类的游标操作,

这样触发器就不能工作了,有什么办法可以侦听到游标操作呢,即在执行游标的时候,可以获取表名、id的值,

是修改还是删除还是增加???

------解决方案--------------------
用 SQL PROFILER去试试
------解决方案--------------------
这是非要憋着公鸡下个蛋出来看看.
------解决方案--------------------
PROFILER可以监听游标么
------解决方案--------------------
既然用了 sp_cursor,那必定先得用类似于 sp_cursoropen 之类的语句来定义,楼主可以考虑跟踪
sp_cursoropen
sp_cursorfetch
sp_cursorclose
等语句,来获得用游标处理的语句.
参见:
http://jtds.sourceforge.net/apiCursors.html#_sp_cursor
------解决方案--------------------
标记,看结果。
------解决方案--------------------
如果实在不行,也不一定非要这样处理啊,做JOB试试看
------解决方案--------------------
不知道你说的系统A到底处理什么,查询的时候跟踪不出来表名吗
------解决方案--------------------
探讨

这是非要憋着公鸡下个蛋出来看看.