oracle JDBC jar导致错误问题!

news/2024/5/18 22:43:29 标签: oracle, jar, jdbc, 数据库连接池, hibernate, action

原来项目中用的数据库连接池hibernate自带的dbcp,项目run的还行。

过了一段时间之后想优化一下项目,想使用 spring的数据源部分,把数据库链接放到容器当中建立数据源 

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
       <property name="jndiName">
           <value>java:comp/env/DS</value>
       </property>
    </bean>

配上之后,系统总是抛出异常:

java.lang.AbstractMethodError: oracle.jdbc.driver.OracleResultSetImpl.getBlob(Ljava/lang/String;)Ljava/sql/Blob;
 at org.apache.commons.dbcp.DelegatingResultSet.getBlob(DelegatingResultSet.java:526)
 at net.sf.hibernate.type.BlobType.get(BlobType.java:32)
 at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:62)
 at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:53)
 at net.sf.hibernate.type.AbstractType.hydrate(AbstractType.java:66)
 at net.sf.hibernate.loader.Loader.hydrate(Loader.java:686)
 at net.sf.hibernate.loader.Loader.loadFromResultSet(Loader.java:627)
 at net.sf.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:586)
 at net.sf.hibernate.loader.Loader.getRow(Loader.java:501)
 at net.sf.hibernate.loader.Loader.getRowFromResultSet(Loader.java:213)
 at net.sf.hibernate.loader.Loader.doQuery(Loader.java:281)
 at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
 at net.sf.hibernate.loader.Loader.doList(Loader.java:1033)
 at net.sf.hibernate.loader.Loader.list(Loader.java:1024)
 at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
 at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544)
 at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
 at org.springframework.orm.hibernate.HibernateTemplate$19.doInHibernate(HibernateTemplate.java:645)
 at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312)
 at org.springframework.orm.hibernate.HibernateTemplate.find(HibernateTemplate.java:631)
 at org.springframework.orm.hibernate.HibernateTemplate.find(HibernateTemplate.java:610)
。。。。
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
 at $Proxy4.userLogin(Unknown Source)
 。。。。。
 at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:105)
 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
 at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
 at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
 at java.lang.Thread.run(Thread.java:595)

2009-06-16 10:24:06 StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
java.lang.AbstractMethodError: oracle.jdbc.driver.OracleResultSetImpl.getBlob(Ljava/lang/String;)Ljava/sql/Blob;
 at org.apache.commons.dbcp.DelegatingResultSet.getBlob(DelegatingResultSet.java:526)
 at net.sf.hibernate.type.BlobType.get(BlobType.java:32)
 at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:62)
 at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:53)
 at net.sf.hibernate.type.AbstractType.hydrate(AbstractType.java:66)
 at net.sf.hibernate.loader.Loader.hydrate(Loader.java:686)
 at net.sf.hibernate.loader.Loader.loadFromResultSet(Loader.java:627)
 at net.sf.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:586)
 at net.sf.hibernate.loader.Loader.getRow(Loader.java:501)
 at net.sf.hibernate.loader.Loader.getRowFromResultSet(Loader.java:213)
 at net.sf.hibernate.loader.Loader.doQuery(Loader.java:281)
 at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
 at net.sf.hibernate.loader.Loader.doList(Loader.java:1033)
 at net.sf.hibernate.loader.Loader.list(Loader.java:1024)
 at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
 at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544)
 at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
 at org.springframework.orm.hibernate.HibernateTemplate$19.doInHibernate(HibernateTemplate.java:645)
 at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312)
 at org.springframework.orm.hibernate.HibernateTemplate.find(HibernateTemplate.java:631)
 at org.springframework.orm.hibernate.HibernateTemplate.find(HibernateTemplate.java:610)
。。。。。
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

 

后来终于在网上找到了答案,至于是那位高手,俺忘了,不好意思啊,见谅!:-)

网友高手指出,是由于oraclejar所导致的问题。经本人比较oracle 9i 的jar如下:

 ————————————————————————————————                            

oracle自带的jar:  classes111.jar      952KB

                          classes12.jar        1.07MB

—————————————————————————————————

从官方下载的jar:  classes12.jar         1.35MB

—————————————————————————————————

 

换完oraclejar 问题解决。那位高手或网友对这个问题做具体分析了或有啥好的文章、看法,希望留个评论。俺想再深入看看。:-)

                 

 最后,感谢那位不知名的网友!特别是你帮俺把问题解决了,没把你的网址记住,抱歉!

                                                       (浪费了好长时间啊,%>_<%)

 

 

 


http://www.niftyadmin.cn/n/789855.html

相关文章

Ganglia入门

[sizelarge][colorgreen]Ganglia是一款非常优秀的开源的监控框架&#xff0c;下面引自百科的解释&#xff1a; Ganglia是UC Berkeley发起的一个开源集群监视项目&#xff0c;设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性…

curl毫秒超时使用的坑

升级后的libcurl已经支持了毫米级别的超时。但是使用的时候还有一个坑需要注意跨过去 。 libcurl如果检查到设置的timeout < 1s 那么会直接发出一个信号说 "已经超时了" 如果要使用毫秒超时 那么还需要关闭这个signal功能&#xff0c;即设置中需要多一个 curl_set…

Apache MINA包括(MINA、FtpServer、AsyncWeb 、SSHD )

前段时间无意中发现了 apache的FtpServer &#xff0c;那时候记得还在 www.apache.org的首页上&#xff0c;今天上网站发现没了。搜索了一下才在首页的MINA的这个链接中找到&#xff0c;原来到这个下面了。链接地址是&#xff1a;http://mina.apache.org/ 。 下载:FtpServer 1.…

四则运算 测试与封装

import java.util.Scanner; public class Calculator{ public static void main(String[] args) {System.out.println("运算符是 &#xff0c;-&#xff0c;*&#xff0c;/");Scanner sc new Scanner(System.in);System.out.println("请输入第一个数&#xff…

Ganglia安装配置与监控Solr

[colorgreen][sizelarge]Ganglia的安装&#xff0c;可以使用yum和rpm来进行&#xff0c;对于刚装的系统需要分别执行以下几个命令&#xff0c;来完成初始化安装&#xff1a;[/size][/color]yum install –y wget apr-devel apr-util check-devel cairo-devel pango-devel libxm…

Linux bash常用命令

一、编辑命令 Ctrl a &#xff1a;移到命令行首Ctrl e &#xff1a;移到命令行尾Ctrl f &#xff1a;按字符前移&#xff08;右向&#xff09;Ctrl b &#xff1a;按字符后移&#xff08;左向&#xff09;Ctrl xx&#xff1a;在命令行首和光标之间移动Ctrl u &#xff1a…

如何在CentOS6.5下编译64位的Hadoop2.x

[colorgreen][sizelarge]hadoop2.x在apache官网直接下载的并没有64位直接能用的版本&#xff0c;如果我们想在64位系统使用&#xff0c;那么就需要重新编译hadoop&#xff0c;否则直接使用32位的hadoop运行在64位的系统上&#xff0c;将会出现一些库不兼容的异常。如下图所示&a…

ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(1)

1.SQL相关 名称 类型 说明 BaseSQL String 没有被AddWhere、SetOrderBy、FilterSQL等方法处理过的原始SQL语句 FinalSQL String 被AddWhere、SetOrderBy、FilterSQL等方法处理过的最终SQL语句 SaveSQL 将SQL属性中的值保存到BaseSQL中&#xff0c;以便在处理后能够…