Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不同时区的JVM和Oracle数据库_Java_Oracle_Timezone - Fatal编程技术网

Java 不同时区的JVM和Oracle数据库

Java 不同时区的JVM和Oracle数据库,java,oracle,timezone,Java,Oracle,Timezone,JVM时区与我的数据库时区不同(相隔1小时) 下面的伪代码是否有明显的错误。我有一个更新一个多小时没有更新的行的过程 伪代码 while(true){ // Pick rows which were not updated in the last hour preparedStatement = connection.prepareStatement("select * from data where refresh_date<sysdate-(60/1440) and rownum

JVM时区与我的数据库时区不同(相隔1小时)

下面的伪代码是否有明显的错误。我有一个更新一个多小时没有更新的行的过程

伪代码

while(true){
// Pick rows which were not updated in the last hour

preparedStatement = connection.prepareStatement("select * from data where  refresh_date<sysdate-(60/1440) and rownum <50");
// Update refreshed_date of each row which is going to be updated
//(the ones which were picked using the above query)
preparedStatement = connection.prepareStatement("update data set refresh_date=sysdate where id =?");
//then update the actual row
}

给出了JVM时间,这表明更新查询正在使用JVM时间。select的工作方式是否相同,还是它选择了数据库时间?

使用带时区的时间戳…显然,数据库将使用数据库的时区。这并不意味着系统之间没有任何转换。因此,所有的事情都发生了。@Dave-但是为什么update语句要用JVM时间更新数据库呢?听起来你的nls参数设置不正确。
select to_char(refresh_date,'dd/mm/yy hh24:mi') from data;