• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

懂数据库和C#的朋友们,伴我看看吧,关于C#监视一个数据库中的某个表

律己修心 学生  2008-03-18 10:30:29
可能帖子发在这里有点勉强
但是,毕竟涉及到火速据库知识
就发一个吧
请大家见谅!!!!!


我开发了一个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分钟吧)

可不可以等待那个表给我的程序反馈一个信息,然后程序再做出相应的响应
...全文
92 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
renzhe02 2008-03-21
批处理1:从B地导出数据放到FTP服务器上
批处理2:从FTP上取下数据,导入A地数据库


楼主是不是想把B地的数据导入到A地数据库?
回复
律己修心 2008-03-19
这个是广告贴
回复
xingchenbbs 2008-03-19
星辰技术社区:www.netcsharp.cn,我们将帮您以最快的速度找到最佳的解决方案
回复
playwarcraft 2008-03-18
在table上建立trigger,來觸發xp_cmdshell命令,
不知道能不能實現?
回复
csshan 2008-03-18
批处理结束不能发个信息吗,或者写到数据库。
基本用定时扫描,也想不出来用什么办法,帮顶!
回复
律己修心 2008-03-18
我最初也是用定时扫描数据表的方法做的
但是效果并不好
1.无法知道批处理什么时候结束
2.定时扫描占系统资源,机器变得太卡了

各位朋友们

有经验的给个好方法啊
回复
dawugui 2008-03-18
问题是:

怎样用C#监视一个数据库中的某个表
---------------------------------
用定时器每隔多少时间就刷新一下表.然后判断数据的情况.
回复
areswang 2008-03-18
顶吧!
回复
pt1314917 2008-03-18
很麻烦。顶。。。
回复
律己修心 2008-03-18
多谢
回复
fcuandy 2008-03-18
不过,即便是用3,也不是c#来实现, 因为它做不到.没有一些特权.

回复
fcuandy 2008-03-18
c#直接监视数据表变化, 这点暂时还是很难做到的,只有定时去扫描表。缺点,你上面自己已经说了。

要实现的方式还是很多的.

1,触发器.
可以在里面调用 xp_cmdshell 执行其它命令.
也可以用 sp_oa系列存储过程 调用你提供的接口.

2,设置cache的数据库依赖.
建一个不用的cache,设置依赖
这样,实际上你只用每次去读cache就可以了,看看是健是否存在,不存在就是有变化了。 这个效率上应该是高很多了。
具体的实现,还是有点麻烦的。

3,写进程注入,由于sqlserver不开源,这个方法基本很难。
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-18 10:30
社区公告
暂无公告