日期:2014-05-20  浏览次数:20920 次

.net线程中访问sqlserver数据库
菜鸟,求老鸟高招!

实现服务器定时的归档删除数据!
要使用线程,可是我连线程是什么东东都不懂!
目前实现思路是
读取数据库中的时间,根据时间定时归档,删除数据!
怎么做?

我是完全不会的人啊!请相信点,谢谢,急用啊!

------解决方案--------------------
教你跑步的前提是你起码会走路。
------解决方案--------------------
你基础不够了,应该先全部了解要用的软件具有什么功能。

这个需求仅仅简单的设置数据库的“作业”功能就行了。
------解决方案--------------------
Sql Server如果不是Express的话,支持SqlAgent。可以建立task, 在指定的Schedule时运行task。应该可以满足你的需要。
------解决方案--------------------
引用:
谢谢各位,我知道不能一步登天啊!可是客户说要这个功能!我不就得做呗。

哪位大神有这方面的学习资料,例如 线程中怎么ADO访问数据库!开启线程,访问数据库,读取数据,线程睡眠时间,下次执行时间……

就是线程的使用方式,最好有案列的,谢了!!

楼上都告诉你了,最好用数据库的作业来实现这个功能
------解决方案--------------------
WINDOWS服务吧,可以考虑这样实现

服务里面每秒都进行时间判断,判断时间是否为配置的时间段【在单独的配置文件中定义,多久去扫描一次任务信息】 比如我在配置文件中定义了 每天4点 12点 16点 20点 24点 这几个时段去扫描数据库 读取定时作业 

定时作业读取完毕后 继续在上面的服务里进行判断 是否当前时段有任务执行 有的话 根据任务配置去执行。

大概的思路就这样 不过这样有个局限性 就是客服在WEB上定义好后 不能立即在服务中体现 这个可以和客户沟通 如果需要立即运行 可以考虑引入消息队列类似的技术 频度读取数据库 还是不太好的 

最好的方案 时间间隔设置小点 比如半小时或10分钟读取一次最新的任务信息  这样数据库压力不会太大 也不会造成太久的延迟
------解决方案--------------------
引用:
谢谢各位,我知道不能一步登天啊!可是客户说要这个功能!我不就得做呗。

哪位大神有这方面的学习资料,例如 线程中怎么ADO访问数据库!开启线程,访问数据库,读取数据,线程睡眠时间,下次执行时间……

就是线程的使用方式,最好有案列的,谢了!!


用数据库的“作业”功能来实现,学习成本不到30分钟。

你自己现实,光你列出的技术,就得学习多久啊?还得开发呢。
------解决方案--------------------
确实 自己实现的话 技术需要很多 

可以上网找找有无类似的成熟产品。
------解决方案--------------------
这个要看具体的需求了 

是只要完全备份数据呢? 还是定时同步数据呢? 还是定时执行任务?

多线程执行 我做过的只是多线程接收请求 但是还是串行执行 也就是说 前面的命令没有执行完 后面的是不会执行的 如果你要求的是对同一个数据库 同一个表 定义多个任务 且他们的执行时间很接近 并且数据量还特别大的话 我觉得就这个功能 就能单独做一个项目

如果对不同表 且任务之间间隔时间很长 则可以一个服务解决

如果对不同表 任务执行时间间隔很接近 数据量又特别大(执行周期较长)最简单的办法就是将一个服务部署多套在一个或者不同的机器上 

至于这个服务怎么写嘛 
System.Timers.Timer scheduler = new GTimers.Timer();
scheduler.Interval = 60000;     // per minute
scheduler.Elapsed += new GTimers.ElapsedEventHandler(scheduler_Elapsed);
scheduler.Start();

你如果还要问更具体 我觉得LZ不如干脆外包给别人做好了
------解决方案--------------------
14楼已经给出代码,就看你懂不懂了!~
------解决方案--------------------
我的方法:google或者百度一个类似的程序看一下就明了了
------解决方案--------------------
一般来说 解决方案是不容易找到的

关于某个技术点的代码实现 倒是可以上网找 
------解决方案--------------------
windows 服务+定时器是可以的。
------解决方案--------------------
数据定时归档直接在sqlserver里设置就行了,不用写程序的。
------解决方案--------------------
可能我只是随便给了一小段关键代码 你没有做过类似的应用 可能有点迷糊

这样吧 2个选择 

1.找别人做,直接找大神动手。

2.你可能是因为没有具体的项目经验 遇见一个问题 不知道怎么动手了 

我给你的意见是拆分需求 你将你要做的东西 进行功能分解