delpphi实时监控数据库解决方案

delpphi实时监控数据库
大侠们都上班了没?请教一个问题。我们现在需要做一个系统来实时监控数据库,我目前的做法是用一个adoconnection组件与远程服务器的数据库建立连接,然后定时通过查询语句来查看数据库的变化。刚开始运行时没有问题,不过当系统运行的时间久了之后就会出现诸如adoconnection数据库连接方面的异常。请教大侠们,我这样设计有没有什么安全隐患,或者你们监控数据库一般是怎么来设计的?
  同时恭祝大家新年快乐!

------解决方案--------------------
你可以检查一下你的代码,第一个异常可能是由于sql的更新锁造成的,有人修改时不允许进行查询或者更改操作,
解决方法是用try catch处理查询,用事物处理更新

第二个异常sqlserver不存在或拒绝,你可以检查下sqlserver服务器状态,以及网络环境是否正常,如果都没问题,可能是因为链接超上限了,造成原因是多个客户端或者单个客户端不断的链接、断开造成的,要知道adoconnection 即使close也不是立即断开的这是系统本身的问题,我暂时不知道好的解决办法可以写个存储过程断开所有链接或不断尝试链接,直到sql释放空闲链接

第三个问题如果是查询时间超过链接超时上限可以延长connection和查询控件的链接超时上限,另外检查sql是否设定了链接超时,我这里默认时间是600秒,不建议你修改这个时间,你可以采用异常捕捉来截获connection的异常,并在查询之前检查connection的状态,如果connection异常,重新链接就是了
不要指望你可以创建一个adoconnection然后几个月不关掉它