懂数据库和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分钟吧)

可不可以等待那个表给我的程序反馈一个信息,然后程序再做出相应的响应
...全文
131 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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不开源,这个方法基本很难。

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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