在一个ODI集合接口使用TO_DATE功能时显示“ORA-01843:不是一个有效的月份”_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 5601 | 回复: 0   主题: 在一个ODI集合接口使用TO_DATE功能时显示“ORA-01843:不是一个有效的月份”        下一篇 
yanghui
注册用户
等级:上尉
经验:584
发帖:92
精华:0
注册:2011-12-13
状态:离线
发送短消息息给yanghui 加好友    发送短消息息给yanghui 发消息
发表于: IP:您无权察看 2011-12-23 16:28:59 | [全部帖] [楼主帖] 楼主

在一个ODI集合接口使用TO_DATE功能时显示“ORA-01843:不是一个有效的月份”

应用:

Oracle Data Integrator - 版本: 3.2.03.01 及以后发行的版本

本文档的信息可以应用到任何平台

现象

当启动一个ODI代理来运行集合接口,使用Oracle 10.x JDBC访问oracle表时,下面显示的消息表明oracle的to_date功能有问题

1843 : 22008 : java.sql.SQLException: ORA-01843: not a valid month
java.sql.SQLException: ORA-01843: not a valid month
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)


at oracle.jdbc.driver.T4CTTIoer.processError(T4

原因

由于10.x 版本的 Oracle JDBC的驱动程序有问题,在没有格式化字符串前就使用to_date功能时,该驱动程序使用的是不同于默认的值

解决方案

to_date('01.' || to_char(A.MY_DATE,'MM.YYYY HH24:MI:SS'))应该替换成to_date('01.' || to_char(A.MY_DATE,'MM.YYYY HH24:MI:SS'),'DD.MM.YYYY HH24:MI:SS')

--使用一个日期域的映射和 to_date / to_char转化功能
--使用to_date / to_char功能的格式化字符串和描述的域不匹配




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论