请perl高手和JAVA高手和C高手和C++高手都进来一下

roroyangivan 2010-07-08 05:03:24
我现在想 写一个perl程序

用来 记录 数据库 操作

比如。。当用户 浏览相应的表格, 对数据产生疑问, 就会质疑数据库表格是不是被改动

然后 就可以从 那张LOGGing 表中 查到 是谁改了, 上一次改的时间是多少, 改之前的内容是什么,改了哪个表,改了这个表的哪里等等

我一开始 想到的是 用监听器 去监听 这个数据库 然后 数据库 里 建了一些trigger 用trigger去记录这些。。

但是感觉 貌似 有点 不符合实际。。。

请问高手。。。有什么想法吗?

只要 想法就可以~、。。。谢谢


...全文
202 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
fibbery 2011-01-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lvyinghong 的回复:]
引用 5 楼 fibbery 的回复:
嗯,楼上的方法是很专业的。但也很难得知应用本身所登陆的用户。


据我所知,是可以记录用户的,呵呵。
我就在测试这个产品。。。
[/Quote]

呵呵,数据库登录用户名肯定能知道,我是说应用登录的用户名。数据库的日志不会记录应用登录的用户的。
lvyinghong 2010-07-12
  • 打赏
  • 举报
回复
不过我也不清楚具体细节,估计真正做起来工作量还是很大的,呵呵
lvyinghong 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fibbery 的回复:]
嗯,楼上的方法是很专业的。但也很难得知应用本身所登陆的用户。
[/Quote]

据我所知,是可以记录用户的,呵呵。
我就在测试这个产品。。。
joefinale 2010-07-09
  • 打赏
  • 举报
回复
写一个带构造方法和set、get方法类。并测试之。
fibbery 2010-07-09
  • 打赏
  • 举报
回复
嗯,楼上的方法是很专业的。但也很难得知应用本身所登陆的用户。
lvyinghong 2010-07-09
  • 打赏
  • 举报
回复
数据库都有一个redo log的东西,像oracle redo log。 可以自己分析这个log,就知道有哪些操作了。
参考一下
http://www.macs.hw.ac.uk/dept/facil/guides/oracle_9i/doc/server.901/a90117/logminer.htm

SQL server 也有类似的功能组件的。呵呵

已经有公司做这种专门分析产品了。
如果你要自己做一个,要去研究一下才行,
fibbery 2010-07-08
  • 打赏
  • 举报
回复
从另一个角度来说,如果对数据库技术细节了解的话,你也可以通过数据库的系统表获得一些相关的知识。
比如,Oracle的V$SESSION视图中记录了每一个session的连接终端主机名、终端操作系统用户名、进程名等信息。你可以参考一下。
fibbery 2010-07-08
  • 打赏
  • 举报
回复
如果应用是自己写的,那么记录操作日志可能放在应用中比较好,也就是说,当程序去修改数据库的数据时,记录当前操作的日志;如果应用中不想写这些东西或者应用本身不是自己开发的原因而无法在应用中加入数据库操作记录代码,那么,只能通过数据库的触发器来实现,但这种情况,想实现记录应用本身的登录用户很难,几乎不可能,除非单用户登录模式;这种情况,只能实现,记录当前登录到数据库的用户名。

总之,我觉得想记录非常详尽的日志,挺难的。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧