之前遇到的一个问题:
用JDBC从oracle取出类型为timestamp的字段,然后再利用ResultSet.setTimestamp(ResultSet.getObject())设置到mysql中,会报错:
java.lang.ClassCastException: oracle.sql.TIMESTAMP cannot be cast to java.sql.Timestamp
debug了一下,可以发现ResultSet.getObject()获取的类型为oracle.sql.TIMESTAMP,而ResultSet.setTimestamp(java.sql.Timestamp),参数类型不匹配,所以会报错。
解决方法:
添加jvm启动参数:-Doracle.jdbc.J2EE13Compliant=true YourApplication。
或者
在程序里添加代码:System.getProperties().setProperty("oracle.jdbc.J2EE13Compliant", "true")
本文介绍了解决从Oracle数据库提取timestamp类型数据并将其插入MySQL时出现的ClassCastException错误的方法。通过调整JVM参数或程序属性,确保数据类型兼容。

1545

被折叠的 条评论
为什么被折叠?



