我觉得你应该把帖子发到SQL Server区,请教版主黄钊吉

解决方案 »

  1.   

    又想了一下, 把上次触发时间改成下次运行时间更好.对于1次性任务, 触发周期写成0就可以.然后写一个后台扫描程序定时查看表A, 当有数据行的下次运行时间到达并且非一次性任务更新表A下次运行时间=下次运行时间+触发周期, 同时向表B插入数据
      

  2.   

    考虑到资源问题,还是不在后台写定时了。就写一个代理作业,设置为每天某个时间点去执行~你的两个思路一个是记录上次处理时间,另一个是计算下次处理时间,都不错。
    接下来我要研究的就是sqlserver里面的时间算法咯
    毕竟12个月的每个月天数都不一样呢
      

  3.   

    完全没用过呢,我得去查查了~不过貌似记得spring不是java的框架么?
      

  4.   

    你的分增长得太快了~
    .NET技术分已经超过我了
      

  5.   


    简单的办法就是在C#算出时间再传回去. 遇到30直接AddMonths(1)
      

  6.   

    自己写个windows服务来执行。
    或者用现成的:Quartz.NET
      

  7.   

    都没用过,都需要去研究~
    晚上回去就研究~ps:这个头像怎么会动的?  我也试过gif的,可是不会动呀
      

  8.   

    商量过了,客户想在页面上自己维护触发事件。
    不想再去设置WindowsTask或者是sqlserver代理作业~
      

  9.   

    来学习一下大神们的思路
    都没用过,都需要去研究~
    晚上回去就研究~ps:这个头像怎么会动的?  我也试过gif的,可是不会动呀
      

  10.   

    我的解决方案:
    第一步  定义好任务类型:
       单次执行 type=1
       每周执行 type=2
       每月执行 type=3
       每种类型 都要有个时间点,告诉程序什么时候发布.第二步  查询当天需要执行的任务:
        每天 0 点的时候 根据这三种任务找出当天需要执行的任务
        若当天有新任务发布,则重新查找一次.第三步   循环任务列表发布任务:
         然后就是弄个循环 可以是每1分钟一次或者每5分钟一次
         看是否达到发布任务的时间
      

  11.   

    一种方法是开发一个windows服务,用timer定时调用“待分配任务查询及插入操作”另一种方法是,利用数据库的定时任务,比如:oracle的JOB   、 Sqlserver的JOB,调用存储过程,执行“待分配任务查询及插入操作”
    这里需要注意的是执行周期要尽可能的小,至少小于客户允许的运行周期的一半。另:加入用户新增任务比较频繁,随着时间推移任务表记录会比较大,你可以考虑将任务表拆分成两个。第一个表存放尚未完成任务记录;第二个表存放已完成任务记录
      

  12.   

    参考Sql Server 2005 管理->维护计划
      

  13.   

    每1分钟 一次  不会很频繁的, 你可以自己做的测试
    比如当天有1000个任务要发布,你每一分钟 执行一次 
    for  int i=0;i<1000;i++
    这个有什么压力呢至于第二个问题 你不需要去确认 每周和每月这样任务类型的下一个执行时间,
    因为你在定制任务的时候 肯定要有个字段 来存的 比如每周的 为  星期三  星期五 这样
    每月的 就存 5号  10号 这样的你在查询当天需要发布的任务的时候 是需要根据任务类型 分开执行sql的
    你要对单次,  每周,  每月 三种类型 分别动态创建 当天的三个sql语句 ,这个语句 也不是很复杂,就是根据当天
    计算出 是当月的第几天 ,本周的星期几 然后拼接一下sql就出来了
      

  14.   

    Sql Server 2005 打个sp2补丁
      

  15.   

    我们用的是2008~客户不想在sqlserver里面或者WindowsTask里面去维护这个触发周期和具体时间,他想在页面上设置呢~
      

  16.   

    难点在于对于触发事件的计算和修改,我打算用sqlserver代理作业定每天去扫描数据,然后计算下一个触发时间,现在正在研究不同类型下下一个触发时间的计算,暂时用18楼那个思路~多谢啦~
      

  17.   

    你可以看看quartz的资料,或许能够帮到你;
    quartz中的调度器、任务和触发器可以处理你提到的那些东西。