Oracle11g 从返回的Oracle时间戳列检索数据

Oracle11g 从返回的Oracle时间戳列检索数据,oracle11g,coldfusion,timestamp,oracle10g,coldfusion-8,Oracle11g,Coldfusion,Timestamp,Oracle10g,Coldfusion 8,我们有一个使用Oracle时间戳的ColdFusion 8 Linux应用程序。我们刚刚从10g转换为Oracle 11g,现在在数据源上使用Oracle的瘦客户端。我们在选择时间戳列的应用程序中遇到错误 似乎正在返回类为oracle.sql.TIMESTAMP的对象。我通过转储专栏的内容来验证这一点。果然,它给了我对象方法及其返回类型的分解。但是,我似乎无法直接与此对象交互: <cfquery name="getstuff" ...> SELECT ti

我们有一个使用Oracle时间戳的ColdFusion 8 Linux应用程序。我们刚刚从10g转换为Oracle 11g,现在在数据源上使用Oracle的瘦客户端。我们在选择时间戳列的应用程序中遇到错误

似乎正在返回类为oracle.sql.TIMESTAMP的对象。我通过转储专栏的内容来验证这一点。果然,它给了我对象方法及其返回类型的分解。但是,我似乎无法直接与此对象交互:

<cfquery name="getstuff" ...>
    SELECT timestampfld ...
    FROM myTable
</cfquery>
生成表示找不到这些方法的错误。我如何获取该对象中保存的数据

根据评论更新:

当我获取列值并对其应用DateFormat timestampfld、dd.mm.yyyy函数时。CF错误是

"The value class oracle.sql.timestamp cannot be converted to a date".
当我执行时,我得到类定义


在检索列中,我似乎得到的是一个对象而不是字符串。当我转储该列时,我得到的对象是oracle.sql.TIMESTAMP。转储列出了可用的方法和字段。当我输出相同的变量时,会显示一个字符串。当我尝试对变量执行DataFormat时,它会抱怨它不是日期。

我在开发过程中碰巧遇到了这个错误。我过去有过,但后来很久就忘了。 我知道有两种缓解方法: 第一种是根据在不同上下文中有关同一错误消息的问题的定义。 可以将以下内容添加到jvm.config文件中

第二种方法不是返回Oracle TIMESTAMP列,而是首先将其转换为dodate,如

<cfquery name="getstuff" ...>
  SELECT CAST( timestampfld as DATE ) timestampfld
  FROM myTable
</cfquery>

老实说,我对两者都不满意。当JVM参数被遗忘时,软件崩溃。另一方面,强制转换可能会影响SQL的工作方式。

您能否发布准确的错误,即:不要只是描述它。如果您只是timestampfld呢?CF错误是值类oracle.SQL.timestamp不能转换为日期。我获取列值并对其应用DateFormat函数。当我执行时,我得到类definition.Correction。当我输出timestamp列值时,我得到一个包含时间/日期的字符串。当我输出timestamp列值时,我得到一个包含时间/日期的字符串,所以。。。有什么问题吗?
-Doracle.jdbc.J2EE13Compliant=true
<cfquery name="getstuff" ...>
  SELECT CAST( timestampfld as DATE ) timestampfld
  FROM myTable
</cfquery>