猿问

JDBC 要求 Sybase 的时间戳偏移一个小时?

在 Sybase 数据库中有一个数据库过程(我无权访问,因此无法查看或编辑它的源代码),我查询有关事件的信息,并且这些事件有开始和结束日期。


编辑:当我查询一个新创建的日期表时,也会发生这种效果,创建如下:


create table jvo_test.test_dates(dt datetime not null primary key)

insert into jvo_test.test_dates(dt) select  dateadd(mi, (id-1) *30, '2019-03-06 00:00:00') from rle.row_generator where id between 1 and 48

结束编辑


问题是,当这些事件发生在午夜后一小时(所以在 00:00 - 01:00 范围内)时,生成的时间戳会在过去一个小时内跳回???


示例:现在程序返回两个事件,一个在 23:44,另一个在 00:07


代码:


Connection c = ds.getConnection();

String sql = "procedure_name 'param1', 'param2', 'param3'";

PreparedStatement ps = c.prepareStatement(sql);


ResultSet rs = ps.executeQuery();

ResultSetMetaData rsmd = rs.getMetaData();

while (rs.next()) {

    for(int i = 1; i < rsmd.getColumnCount(); i++) {

        log.debug("{} is of type: {}", rsmd.getColumnName(i), rsmd.getColumnType(i));

    }

    log.debug("AS STRING start_time: {}, end_time: {}",

        rs.getString("start_time"),rs.getString("end_time"));

    log.debug("AS TIMESTAMP start_time: {}, end_time: {}",

        rs.getTimestamp("start_time"),rs.getTimestamp("end_time"));

}

这导致以下日志行


start_time is of type: 93

end_time is of type: 93

AS STRING start_time: 2019-02-19 23:44:23.000000, end_time: 2019-02-19 23:44:29.000000

AS TIMESTAMP start_time: 2019-02-19 23:44:23.0, end_time: 2019-02-19 23:44:29.0


start_time is of type: 93

end_time is of type: 93

AS STRING start_time: 2019-02-20 00:0-53:46.000000, end_time: 2019-02-20 00:0-53:53.000000

AS TIMESTAMP start_time: 2019-02-19 23:07:46.0, end_time: 2019-02-19 23:07:53.0

start_time并且end_time都是类型 93 或时间戳。


请注意,应该从 00:07 开始的第二个事件如何跳到过去一个小时到 23:07


这个一小时的偏移量我哪里错了?


慕森卡
浏览 89回答 1
1回答

慕仙森

通过将 JDBC 数据库驱动程序从内部版本 26502 更新到 27361 解决了问题要找出驱动程序的版本,请执行java&nbsp;-jar&nbsp;jconn4.jar旧版本将此作为第一行输出:jConnect&nbsp;(TM)&nbsp;for&nbsp;JDBC(TM)/7.00(Build&nbsp;26502)/P/EBF17993/JDK16/Thu&nbsp;Jun&nbsp;&nbsp;3&nbsp;&nbsp;3:09:09&nbsp;2010新版本输出如下:jConnect&nbsp;(TM)&nbsp;for&nbsp;JDBC(TM)/7.07&nbsp;SP139&nbsp;(Build&nbsp;27361)/P/EBF27161/JDK&nbsp;1.6.0/jdbcmain/OPT/Thu&nbsp;Jul&nbsp;27&nbsp;02:39:00&nbsp;PDT&nbsp;2017
随时随地看视频慕课网APP

相关分类

Java
我要回答