起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 100|回复: 5

【结贴】数据库升级后X3提醒功能报错**

[复制链接]
发表于 2009-2-4 10:00:37 | 显示全部楼层 |阅读模式
提醒功能的规则语句(SQL属性)是:
SELECT *
  FROM PERSONSILRECORD
  WHERE PERSONSILRECORD.FPERSONID = &[BIZ:SYSTEMORGPARAMS.PARAMGROUPOperatorID.Param] and PERSONSILRECORD.FISREPAY = 0 and ((PERSONSILRECORD.FDEADLINE - &[BIZ:SYSTEMDATATIMEPARAMS.PARAMGROUPServerDate.Param]) <= 7)
就是使用了系统空间的两个参数。
原来使用oracle8i作为数据库,提醒功能可以实现。但把数据库换为oracle9i后(使用oracle的导出导入功能),就报了以下的错:

想请问下如何解决这个错误,非常急,谢谢!

在tomcat中报道错
CommandText: SELECT *
FROM PERSONSILRECORD
WHERE PERSONSILRECORD.FPERSONID = ? and PERSONSILRECORD.FISREPAY = 0 and
((PERSONSILRECORD.FDEADLINE - ? <= 7)
2009-2-4 9:41:29 com.caucho.hessian.server.HessianSkeleton invoke
u8b66u544a: java.lang.Exception: error occur during invoke getRecords
method, ORA-00932: inconsistent datatypes: expected INTERVAL got NUMBER

java.lang.Exception: error occur during invoke getRecords method,
ORA-00932: inconsistent datatypes: expected INTERVAL got NUMBER

在调试时错

errora.jpg

26.82 KB, 下载次数: 70

回复

使用道具 举报

发表于 2009-2-4 10:10:34 | 显示全部楼层
数据类型不一致了。请楼主检查一下sql
回复 支持 反对

使用道具 举报

发表于 2009-2-4 10:11:02 | 显示全部楼层
ORA-00932 是数据库返回的错误,应该是数据类型有问题,你检查一下这个语句中设计到的字段的数据类型,跟oracle8i 对比一下
回复 支持 反对

使用道具 举报

发表于 2009-2-4 10:13:20 | 显示全部楼层
((PERSONSILRECORD.FDEADLINE - &[BIZ:\SYSTEM\DATATIMEPARAMS.PARAMGROUP\ServerDate.Param]) <= 7)

这个条件存在问题。可能跟日期操作有关。
具体你可以参考一下这个帖子看看
http://www.itpub.net/430785.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-4 16:21:23 | 显示全部楼层
貌似是x3的取系统时间参数赋值给sql语句在oracle9i上查询时得到的错误。

现在用sysdate来代替这个参数。



可以结贴了
回复 支持 反对

使用道具 举报

发表于 2009-2-4 16:22:39 | 显示全部楼层
好,谢谢反馈。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 04:10 , Processed in 0.045633 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表