【问题标题】:spring jdbctemplate: different behaviour on different app servers (date issue)spring jdbctemplate:不同应用服务器上的不同行为(日期问题)
【发布时间】:2011-09-28 14:33:49
【问题描述】:

我正在使用相同的代码但使用 2 个不同的应用服务器在同一个数据库上运行相同的选择查询。

查询:在日记中查找某天的条目。

1) 现有的旧版应用服务器(在 unix 上运行的 BroadVision): 从日志中选择标题、内容 entry_date = TO_DATE(?, 'DD/MM/YY HH24:MI:SS');

DEBUG:core.StatementCreatorUtils:设置 SQL 语句参数值:列索引 1,参数值 [Thu Sep 29 14:32:58 IST 2011],值类 [java.util.Date],SQL 类型未知

这很好用

2) JBoss 应用服务器(在 windows 上运行): 从日志中选择标题、内容 entry_date = TO_DATE(?, 'DD/MM/YY HH24:MI:SS');

DEBUG:core.StatementCreatorUtils:设置 SQL 语句参数值:列索引 1,参数值 [Thu Sep 29 14:41:26 IST 2011],值类 [java.util.Date],SQL 类型未知

ORA-01858:在需要数字的地方发现了一个非数字字符

任何想法如何让它在 JBoss 应用程序上运行?

谢谢,

肯尼

【问题讨论】:

    标签: spring jdbctemplate


    【解决方案1】:

    代码对我来说似乎不正确。 TO_DATE 函数的目标是将给定格式的字符串转换为日期。而且您不是将字符串作为参数传递给此函数,而是java.util.Date 对象。

    您应该删除TO_DATE 函数的使用,将您的java.util.Date 转换为java.sql.Timestamp 对象,并使用setTimestamp 将参数传递给您准备好的语句。

    它在你的 unix 机器上工作的事实对我来说似乎是个意外。

    【讨论】:

      猜你喜欢
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 2023-03-14
      • 2022-10-17
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      相关资源
      最近更新 更多