做了一个程序,想在运行后在后台对指定数据库的内容进行监控。
    数据源已经配置好,不论是OLE DB下的ACCESS的,SQLSERVER的,或者ODBC下的EXCEL、文本的,只要用户配置好连接字符串连接上以后,指定了某个表以及里面的字段,程序就在后台监控这些字段,目的是发现这些字段内容变化后,抓出变化内容,另外处理。
    说说自己的思路:1,使用数据库触发器,有问题的,SqlServer可以,ACCESS或者EXCEL的,文本的就不行了;
    2.用钩子,也不行,一是实现有难度,另外如果用户数据库不在本机,是在一台服务器上的,且在Unix下的,那就没的钩了;
    3.目前想到可行的方法是定时轮询,先把数据库做一个镜像比如填充到内存里DataSet中,或者保存到一个数据库里,轮询时间到取出镜像内容和当前数据库内容做比对,一条一条比,哪条变了取出哪条~~~这个主要考虑的是效率问题,当数据量特别大的时候,比如10万条,50万条,如何比?有好的策略或者想法的,欢迎大家讨论提出,给我些建议,谢谢!!
    
    

解决方案 »

  1.   

    to shinaterry(簡簡⿺單單..) ,这个是为了实现完全的后台监控的,不要人为干预,也不怎么提供浏览,所以加刷新的话应该不行,也牵扯不到分页。
    我这里模拟一次加载5万条,然后再对比5万条的时间是78秒,如果是3万条对比的话是15秒,基本在可以忍受的范围内。但是3万条数据占用了263M内存,5万条的话要370M,感觉有更好的处理办法的话就好了
      

  2.   

    没什么人参与,感谢shinaterry(簡簡⿺單單..)和bigmingming(明明兄)
    看来只能采用定时轮询了