社区
Java SE
帖子详情
如何在指定的时间对数据库进行更新?
liujiboy
2004-11-24 11:24:59
现在有一个应用需要在特定的时间对数据库进行一次更新。由于时间是变化的,并在数据库中可以读取这个时间。请问应该如何做呢?
我现在用的是Sqlserver数据库,但是数据库好像不支持时间触发这个概念。
用java写一个进程来监控时间,一是效率问题,因为每过一段时间就需要读取数据库提取时间进行比较。二是怕这个进程死掉。
请问怎么办?
...全文
212
14
打赏
收藏
如何在指定的时间对数据库进行更新?
现在有一个应用需要在特定的时间对数据库进行一次更新。由于时间是变化的,并在数据库中可以读取这个时间。请问应该如何做呢? 我现在用的是Sqlserver数据库,但是数据库好像不支持时间触发这个概念。 用java写一个进程来监控时间,一是效率问题,因为每过一段时间就需要读取数据库提取时间进行比较。二是怕这个进程死掉。 请问怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liujiboy
2004-11-27
打赏
举报
回复
现在用sqlserver的作业机制来完成的。但是不能保证停电之后还执行,因此写了一个存储过程。
zyg158
2004-11-27
打赏
举报
回复
现在有一个应用需要在特定的时间对数据库进行一次更新。由于时间是变化的,并在数据库中可以读取这个时间。
最差的方式就是在你能读取更新时间数据的表中建立一个数据库更新触发器,检测并对应执行相应的更新操作即可
zyg158
2004-11-27
打赏
举报
回复
sqlserver到底支不支持时间触发?!?!
SQL Server自动化管理任务
自动化管理就是按照计划对可预测的管理职责和服务器事件作出响应。通过使用自动化管理,可以节省时间以执行无法预见或无法编程响应而需要创造力的管理任务。
例如,如果希望在每个工作日结束后,备份公司的所有服务器,那么可以创建一项作业来执行该任务。调度该作业在所需的时间运行。作业遇到问题时,SQL Server 代理程序能够记录该事件并发出寻呼。
如果正在运行 Microsoft® SQL Server™ 的多个实例,请使用多服务器管理来自动执行任务。有关更多信息,请参见多服务器管理。
若要使管理自动化,必须:
1.确定哪些管理职责或服务器事件定期执行并可以通过编程方式进行管理。
2.使用 SQL Server 企业管理器、Transact-SQL 脚本或 SQL-DMO 对象来定义一组作业、警报和操作员。有关更多信息,请参见创建作业。
3.运行 SQL Server 代理服务。
自动化管理组件
作业、操作员和警报是自动化管理的三个主要组件。
作业
作业是由 SQL Server 代理程序执行的一系列指定操作。可以使用作业定义一个能执行一次或多次的管理任务,其每次的执行结果是成功还是失败也可以受到监控。作业:
在一个本地服务器上或多个远程服务器上执行。
按照一个或多个调度执行。
由一个或多个警报触发执行。
有关更多信息,请参见创建作业。
z3h
2004-11-27
打赏
举报
回复
最好不要自己用线程实现.jdk 1.4中(应该是)提供了java.util.Timer,java.util.TimerTask,等对象,这些对象可以方便的实现定时操作.
Timer timer = new Timer () ;
timer.scheduleAtFixedRate (new TimerTask () {
public void run () {
long startTime = System.currentTimeMillis () ;
//执行统计
}
} , delay , periodTime) ;
catblue
2004-11-27
打赏
举报
回复
学习一下
chanceqw
2004-11-25
打赏
举报
回复
如果不支持时间触发的话,那只好写个程序来控制了
效率问题应该不大,你可以让你的那个线程sleep()一定的时间
至于说进程可能死掉,其实什么程序都可能死掉的;关键是你有没有把方方面面都考虑到,让你的程序足够强壮。
Tasia
2004-11-25
打赏
举报
回复
让人来手动触发更是不可靠的。一是人的准确性不如机器,二是成本太高。
liujiboy
2004-11-25
打赏
举报
回复
如果不支持时间触发的话,那只好写个程序来控制了
效率问题应该不大,你可以让你的那个线程sleep()一定的时间
至于说进程可能死掉,其实什么程序都可能死掉的;关键是你有没有把方方面面都考虑到,让你的程序足够强壮。
=======================================================================================
sqlserver到底支不支持时间触发?
如果不支持,还真的不如让一个人来控制这个触发。至少人是不会挂掉的。而进程挂掉的可能性要大得多啊。
snow_oracle
2004-11-25
打赏
举报
回复
帮顶
yping2000
2004-11-25
打赏
举报
回复
关注中。。。。
zj_ok
2004-11-25
打赏
举报
回复
如果你的程序不会运行一段时间就死掉,是其他方面造成的,如机器重启之类的就是管理员的责任,管理圆应该保证你的程序在运行中
如果你写的程序要出问题,那没话说
jFresH_MaN
2004-11-25
打赏
举报
回复
呵呵,支持找一个人来定时来更新,那样可以解决一部分人的就业问题嘛
我觉得你可以用一个线程来监控
while(true) {
///读取数据库里的时间
////与上一次的时间比较
不相同:调用一个TimerThread,传给它新的更新时间,由这个TimerThread定时更新数据库
相同:Sleep(sometime);
}
liujiboy
2004-11-25
打赏
举报
回复
让人来手动触发更是不可靠的。一是人的准确性不如机器,二是成本太高。
===================================================================
如果是管理员就非他负责不可了,出了事情扣奖金罚款承担责任。
说说JDBC 操作
数据库
的步骤?
2)建立(获取)
数据库
连接。 3)创建(获取)
数据库
操作对象。 4)定义操作的SQL语句。 5)执行
数据库
操作。 6)获取并操作结果集。 7)关闭对象,回收
数据库
资源(关闭结果集–>关闭
数据库
操作对象–>关闭...
解决
数据库
保存中文数据后变'???'
经常涉及到对数据的操作,所以连接
数据库
必不可少,数据编码问题必然存在,Windows平台下默认使用GBK,linux下默认使用UTF-8,最近在对数据保存的时候,出现了一个问题:中文字符保存到
数据库
后乱码,变成了’?...
数据库
锁表?别慌,本文教你如何解决
当我们对
数据库
进行
修改操作的时候,例如添加字段,
更新
记录等,没有正确评估该表在这一时刻的使用频率,直接
进行
修改,致使修改操作长
时间
无法响应,造成锁表,在 mysql 中,如果出现 alter 操作引发Waiting for ...
【SpringBoot】48、SpringBoot中整合MyBatis-Plus实现自动填充创建
时间
、
更新
时间
字段等
我们在设计
数据库
模型时,通常数据表中会包含创建人、创建
时间
、
更新
人、
更新
时间
等字段,我们希望在执行插入操作时自动填充创建
时间
、
更新
时间
字段的内容,执行
更新
操作时自动
更新
更新
时间
字段这样的操作,MyBatis-...
数据库
的数据太多了怎么办?特别大的访问量到
数据库
上怎么办?分库分表?| 大别山码将
数据库
的数据太多了怎么办,一个表有一亿个数据(特别大的访问量到
数据库
上)?分库分表?Mysql的主从复制 1.使用优化查询的方法 1.使用索引 应尽量避免全表扫描,首先应考虑在 where 及 order by ,group by 涉及的...
Java SE
62,614
社区成员
307,319
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章