繁体   English   中英

oracle.sql.TIMESTAMP无法强制转换为java.sql.Timestamp

[英]oracle.sql.TIMESTAMP cannot be cast to java.sql.Timestamp

我试图通过从Java连接到Oracle DB来执行SELECT语句。 其中一个表具有Timestamp数据类型的列。当我运行jUnit测试时,我得到了以下异常

 java.lang.ClassCastException: oracle.sql.TIMESTAMP cannot be cast to java.sql.Timestamp
at com.sun.rowset.CachedRowSetImpl.getTimestamp(Unknown Source)
at org.springframework.jdbc.support.rowset.ResultSetWrappingSqlRowSet.getTimestamp(ResultSetWrappingSqlRowSet.java:491)
at com.wellpoint.provider.rnr.biz.integration.dao.PropsDAO.buildPropsResponse(PropsDAO.java:1476)
at com.wellpoint.provider.rnr.biz.integration.dao.PropsDAO.populatProps(PropsDAO.java:1320)
at com.wellpoint.provider.rnr.biz.integration.dao.PropsDAO.getProps(PropsDAO.java:388)
at com.wellpoint.provider.rnr.biz.managers.PropsManager.getProps(PropsManager.java:95)
at com.wellpoint.provider.rnr.biz.managers.PropsTest.testGetProps(PropsTest.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
...... .....

在参数VM选项卡中为PropsTest.java设置-D oracle.jdbc.J2EE13Compliant = true ,尝试执行并得到以下内容

java.lang.NoClassDefFoundError: oracle/jdbc/J2EE13Compliant=true
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.J2EE13Compliant=true
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main" 

我不想添加任何罐子或者必须遵循其他方法来解决这个问题吗?

您的任何帮助都是预先确定的!

谢谢!

我也见过这个ClassNotFound异常。 它是由-D和o之间的空间引起的......

-Doracle.jdbc.J2EE13Compliant=true

应该管用

您的运行时类路径中似乎缺少Oracle JDBC驱动程序JAR。

查看Oracle JDBC驱动程序下载页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM