可能帖子发在这里有点勉强
但是,毕竟涉及到火速据库知识
就发一个吧
请大家见谅!!!!!     
我开发了一个C#小程序  VS.net2003 
  
功能是数据库的数据即时地导入和导出 
  
程序的主体其实是用批处理写的 
  
流程:C#程序(所在地:A)激活批处理1(所在地:B), 
       批处理1(A地)结束时会自动激活批处理2(B地)(批处理远程激活) 
       批处理2结束时会在数据库中的表中写入一条数据(成功或失败) 
注: 
批处理1:从B地导出数据放到FTP服务器上 
批处理2:从FTP上取下数据,导入A地数据库 
  
在批处理1激活批处理2时 
这一步就已经和我开发的C#程序没有什么关系了,就是失控了 
现在就只好想办法去捕捉批处理2执行后留下的痕迹 
我在批处理2写了,成功时,在数据库中的一个表中写入“成功”,失败时写入“失败” 
  
  
问题是: 
  
怎样用C#监视一个数据库中的某个表 
  
一但表中有了我们想要的信息(某个字段值是“成功”或“失败”),就结束监视,否则就一直监视(10分钟吧) 可不可以等待那个表给我的程序反馈一个信息,然后程序再做出相应的响应

解决方案 »

  1.   

    在table上建立trigger,來觸發xp_cmdshell命令,
    不知道能不能實現?
      

  2.   

    c#直接监视数据表变化, 这点暂时还是很难做到的,只有定时去扫描表。缺点,你上面自己已经说了。要实现的方式还是很多的.1,触发器.
    可以在里面调用 xp_cmdshell 执行其它命令.
    也可以用 sp_oa系列存储过程 调用你提供的接口.2,设置cache的数据库依赖.
    建一个不用的cache,设置依赖
    这样,实际上你只用每次去读cache就可以了,看看是健是否存在,不存在就是有变化了。 这个效率上应该是高很多了。
    具体的实现,还是有点麻烦的。3,写进程注入,由于sqlserver不开源,这个方法基本很难。
      

  3.   

    星辰技术社区:www.netcsharp.cn,我们将帮您以最快的速度找到最佳的解决方案 
      

  4.   

    批处理1:从B地导出数据放到FTP服务器上  
    批处理2:从FTP上取下数据,导入A地数据库  
    楼主是不是想把B地的数据导入到A地数据库?