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

2024-04-06

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

看起来好像是一个类的对象oracle.sql.TIMESTAMP正在被退回。我通过转储该列的内容来验证这一点。果然,它让我详细了解了对象的方法及其返回类型。但是,我似乎无法直接与该对象交互:

<cfquery name="getstuff" ...>
    SELECT timestampfld ...
    FROM myTable
</cfquery>

getstuff.timestampfld包含一个对象。但是,这样做:

<cfoutput query="getstuff">
    #timestampfld.stringValue()#
    #timestampfld.dateValue()#
</cfoutput>

产生错误,指出无法找到这些方法。我如何获取该对象中保存的数据?

评论更新:

当我获取列值并应用DateFormat( timestampfld, "dd.mm.yyyy" )对它起作用。 CF 误差为

"The value class oracle.sql.timestamp cannot be converted to a date".

当我表演时<cfoutput>,我得到了类定义。

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


我只是在开发过程中偶然发现了这个错误。我过去曾经有过它,但从那以后我就忘记了它。 我知道有两种缓解方法: 第一个是根据answer https://stackoverflow.com/a/51056612/577052关于不同上下文中相同错误消息的问题。 可以将以下内容添加到jvm.config file

-Doracle.jdbc.J2EE13Compliant=true

第二个是不返回 Oracle TIMESTAMP 列,而是 CAST 它执行 DATE,首先,就像

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

说实话,我对这两个都不满意。当忘记 JVM 参数时,软件就会崩溃。另一方面,CAST 可能会影响 SQL 的工作方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从返回的 Oracle 时间戳列检索数据 的相关文章

  • Laravel 无法连接 Oracle

    我在用着耶吉拉 laravel oci8 https github com yajra laravel oci8用于 Oracle 与 Laravel 的连接 但我无法从客户端 PC 连接到 Oracle 服务器 showing this
  • 如何使用准备好的语句在 postgresql 中插入带有时区的时间戳?

    我正在尝试使用准备好的语句将一个字符串插入到数据库的带有时区字段的时间戳中 其中包括日期 时间和时区 问题是 Timestamp valueof 函数没有考虑字符串包含的时区 因此会导致错误 接受的格式是 yyyy m m d d hh m
  • ORA-12154: TNS: 无法解析指定的连接标识符

    当我安装服务器版本和现有的 Oracle 10g 客户端版本时 问题就开始了 背景 安装了 Oracle 客户端版本 10g 位于 c oracle 以连接到位于其他国家 地区的数据库 所以我们只能连接到它并且对它的访问权限有限 路径 gt
  • 如何使用Oracle在日期和时间之间添加字母“T”?

    我想使用 oracle 在日期和时间之间添加字母 T 像这样 2015 01 01T00 00 00 日期脚本 to char l date generated yyyy mm dd hh24 mi ss 甲骨文文档 http docs o
  • DBMS_SCHEDULER.DROP_JOB 仅当存在时

    我有一个 sql 脚本 在导入转储后必须运行该脚本 该脚本除了执行其他操作外 还执行以下操作 BEGIN remove program SYS DBMS SCHEDULER DROP PROGRAM program name gt STAT
  • 无法连接 ORA-12514: TNS: 侦听器当前不知道连接描述符中请求的服务

    我想将 PLSQL 开发工具连接到数据库 但由于以下错误而无法连接 ORA 12514 TNS 侦听器当前不知道连接描述符中请求的服务 检查下面的配置 如何配置才能使其正常工作 SQL gt select value from v para
  • PHP 如何查找自日期时间以来经过的时间? [复制]

    这个问题在这里已经有答案了 如何查找自日期时间戳记以来经过的时间2010 04 28 17 25 43 最终输出文本应该是这样的xx Minutes Ago xx Days Ago 大多数答案似乎都集中在将日期从字符串转换为时间 您似乎主要
  • 标记个体内事件发生后发生的日期

    我有一组长格式的数据 每人几行 人 id 其中事件 事件 1 应该只发生一次 事件发生后 该人不应再有任何数据 如果事件发生后出现任何记录 我想使用名为 flag flag 1 的新变量创建一个查询 例如 下面标记了 id 5 因为在该人的
  • Windows 2k8 上的 Coldfusion 10 - .com/ 加载正常,但 .com/index.cfm 给出 404

    我正在按照 Pete Freitag 的新 CF10 锁定指南设置一台新服务器 CF10 W2K8 我安装了一个测试站点 如果我打开 www mydomain com 它会加载默认文档 index cfm 但是 如果我尝试 www mydo
  • 使用 Oracle 10g 配置 Informatica Repository [Oracle 未连接]

    甲骨文详细信息 Oracle 10g 企业版 运行 XP x32 的主机 我使用 scott Tiger 通过 SQL Plus 进行日志记录 我不提供任何主机字符串 我如何设置 Oracle 接受主机字符串 我问这个是因为我猜问题与此有关
  • 实体框架与oracle数据库的连接

    我使用的是 Entity Framework 6 1 版本和 oracle 11 我是实体框架的新手 任何人都可以建议连接 oracle 的先决条件是什么 任何更改都需要在 web config 中进行 在web config中 默认它是与
  • Oracle 11g XE - 突然出现 ORA-01034: ORACLE 不可用且 ORA-27101: 共享内存领域不存在

    Windows 7 32 位笔记本电脑 Oracle 11g XE 的本地实例 首先 在提出问题之前 我自己一直在研究这个问题 虽然有很多参考 建议 但我无法自己解决这个问题 突然 当我尝试登录本地 Oracle 11g XE 爱好者实例时
  • ColdFusion/PHP 兼容性

    嘿 我有一个关于 ColdFusion 和 PHP 兼容性的问题 我们建立了一个基于 ColdFusion 的社区网站 是否完全可以使用 PHP 将博客和其他社区功能添加到我们的网站 我的意思是把 PHP 和 ColdFusion 结合在一
  • 在 Oracle 过程中实现多线程

    我正在研究 Oracle 10gR2 这是我的问题 我有一个程序 我们称之为 proc parent 在包内 应该调用另一个过程 让我们调用它 用户创建 我得打电话 用户创建 在一个循环中 它从表中读取一些列 并且这些列值作为参数传递给 用
  • 当网站停止时,Oracle 数据提供程序会固定 IIS 工作进程

    我们在 Oracle 11g 第 2 版中遇到了一个严重的问题 其中 w3wp 进程接管了整个处理器核心 并且调试显示 Oracle 数据提供程序无限地抛出 ThreadAbortException 开发人员通过执行以下操作发现了此问题 1
  • 如何下载到 Excel?

    我想为我的 Coldfusion 网站不同部分上的几组不同数据提供 下载到 Excel 功能 我正在使用 Coldfusion 并且希望使用免费的自定义标签 库来帮助我完成此任务 而不是自己从头开始编码 我被指出cflib org http
  • Oracle 11g OFFSET FETCH 给出错误

    我正在进行查询并尝试从数据库中获取随机数量的行 但 Oracle 一直告诉我我的命令尚未正确结束 select from random table order by random column name offset 0 rows fetc
  • java.sql.Timestamp 到微秒精度的字符串

    我正在将时间戳列从数据库读取到 java sql Timestamp 对象中 然后我想将时间戳的值转换为 String 对象 但保持微秒精度 调用 toString 方法让我接近 但它似乎在微秒内丢失了尾随零 如果时间戳以非零数字结尾 则一
  • Blue Dragon Coldfusion 服务器缓存问题

    我有一个在 ColdFusion MVC 框架 Mach II 中构建的应用程序 并托管在蓝龙 ColdFusion 服务器上 它会导致缓存问题 当我添加一个包含一些内容的新页面并加载该页面时 它工作正常 但是 当我在同一个文件中进行一些更
  • 如何在 SQLite 中将时间戳转换为字符串?

    我有一个表 其中存储了时间戳 以毫秒为单位 我想将这些时间戳转换为人类可读的形式 这是我的表的输出示例 SELECT date raw strftime d m Y date 1000 as string FROM my table raw

随机推荐