From: Bronwen C. <bro...@ya...> - 2004-05-31 22:24:46
|
Hi, OK the results when changing the driver for the pool from = jdbc:oracle:thin to: jdbc:weblogic:oracle using SimpleNativeJdbcExtractor Error: org.springframework.dao.DataAccessResourceFailureException: Could not = create Oracle LOB; nested exception is org.springframework.dao.In validDataAccessApiUsageException: OracleLobHandler needs to work on oracle.jdbc.OracleConnection - specify a proper NativeJdbcExtractor org.springframework.dao.InvalidDataAccessApiUsageException: = OracleLobHandler needs to work on oracle.jdbc.OracleConnection - specify a proper NativeJdbcExtractor at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.ge= tOr acleConnection(OracleLobHandler.java:366) at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.cr= eat eLob(OracleLobHandler.java:336) at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.se= tCl obAsString(OracleLobHandler.java:264) at com.zynap.talentstudio.dao.jdbc.oracle.datamanipulation.PortfolioDataMani= pul ation$1.setValues(PortfolioDataManipulation.java :50) at org.springframework.jdbc.core.support.AbstractLobCreatingPreparedStatemen= tCa llback.doInPreparedStatement(AbstractLobCreating PreparedStatementCallback.java:71) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:292)= at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:308)= -----Original Message----- From: spr...@li... [mailto:spr...@li...] On Behalf = Of tho...@tr... Sent: 31 May 2004 21:47 To: spr...@li... Subject: Re: [Springframework-developer] re: OracleLobCreator I was finally able to reproduce the error in my own environment using = Spring 1.0.1. I will try 1.0.2 (current CVS) and see what happens. Thomas Here is my stack trace: org.springframework.dao.DataAccessResourceFailureException: Could not = create Oracle LOB; nested exception is java.lang.ClassCastException: null java.lang.ClassCastException at oracle.jdbc.driver.OracleConnection.unwrapCompletely(OracleConnection.jav= a:5 090) at oracle.jdbc.driver.OracleConnection.physicalConnectionWithin(OracleConnec= tio n.java:5141) at oracle.sql.CLOB.createTemporary(CLOB.java:1009) at oracle.sql.CLOB.createTemporary(CLOB.java:956) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java= :39 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI= mpl .java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.pr= epa reLob(OracleLobHandler.java:375) at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.cr= eat eLob(OracleLobHandler.java:327) at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.se= tCl obAsString(OracleLobHandler.java:255) at org.buggybean.web.TestServlet.doGet(TestServlet.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Ser= vle tStubImpl.java:971) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.j= ava :402) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.j= ava :305) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.ru= n(W ebAppServletContext.java:6350) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSub= jec t.java:317) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)= at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServle= tCo ntext.java:3635) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.j= ava :2585) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) Quoting "j=FCrgen h=F6ller [werk3AT]" <jue...@we...>: > Changing the pool should just affect the NativeJdbcExtractor choice, = =3D > i.e. a different bean wired to OracleLobHandler's = "nativeJdbcExtractor" =3D > property. > =3D20 > Give SimpleNativeJdbcExtractor a try with a Weblogic pool; there's a = =3D > good chance that it will work, avoiding the need for a specific = Weblogic =3D > implementation of the NativeJdbcExtractor interface. > =3D20 > As of Spring 1.0.2, SimpleNativeJdbcExtractor will even work with =3D > Commons DBCP too, avoiding the need for a different = NativeJdbcExtractor =3D > configuration when switching between Commons DBCP and another pool. > =3D20 > Side note: The new version of SimpleNativeJdbcExtractor will also work = =3D > with C3P0. This allows the use of C3P0's ComboPooledDataSource as = direct =3D > replacement of Commons DBCP's BasicDataSource. > =3D20 > Juergen > =3D20 > > ________________________________ > > Von: spr...@li... im Auftrag = =3D > von Bronwen Cassidy > Gesendet: Mo 31.05.2004 22:25 > An: spr...@li... > Betreff: Re: [Springframework-developer] re: OracleLobCreator > > > > Hi > I have no concern as to the pool i use, i am actually > completely ignorant and have been blindly feeling my > way using the spring test cases, samples, docs and > some googling, until 4 months ago i had never used > oracle and until a week ago i did not need to do more > than work out db agnostic sql queries :-) > > so please i am more than happy to use weblogic pool, > which i am using when the app is deployed, hence the > test time passes and deploy time failures most > likely!! I am guessing the changes are needed in the > nativeJdbcExtractor class in the spring.xml needs to > point to a weblogic equivalent?? > > --- Thomas Risberg <tho...@tr...> wrote: > > Since you are using the Commons DBCP rather than a > > WebLogic pool the > > issue is slightly different. We have to figure out > > why the connection > > returned from the DBCP pool is not unwrapped > > properly. > > > > Thomas > > > > > > Bronwen Cassidy wrote: > > > > >Thank-you Jurgen > > >This was the approach i had come to conclude as the > > >only difference between passing test case and > > failing > > >deployed app is the connection pool handled by > > >weblogic , ahh well another trip into the unknown, > > the > > >best part of being a developer ;-) > > > > > >regards > > >Bronwen > > > > > >--- j=3DFCrgen_h=3DF6ller_[werk3AT] > > ><jue...@we...> wrote: > > > >OracleLobHandler needs to work on a native > > >=3D20 > > > > > >>OracleConnection as it comes from the driver. The > > >>usual problem in that respect is not the driver > > but > > >>the connection pool: Every connection pool needs > > to > > >>wrap native connections with pooled connections > > that > > >>at least have different closing behavior. > > >> > > >>To address this, OracleLobHandler has the > > >>"nativeJdbcExtractor" property, taking an > > >>implementation of Spring's NativeJdbcExtractor > > >>interface. Spring includes out-of-the-box > > >>implementations for Commons DBCP, XAPool, and > > JBoss. > > >>I guess what you need to do is write such an > > >>extractor for Weblogic. > > >> > > >>What's odd about your exception is that > > >>OracleLobCreator does not complain that it doesn't > > >>receive an OracleConnection (there's an explicit > > >>check in there). It seems to get a wrapped > > >>connection that is still assignable to > > >>OracleConnection, although it's not the native > > >>OracleConnection from the driver... > > >> > > >>Maybe Weblogic uses some special way of pooling > > >>connections for the Oracle driver, using poolable > > >>OracleConnections? The getPhysicalConnection > > method > > >>will probably be in the OracleConnection class, > > not > > >>in the CLOB class. Try writing a > > NativeJdbcExtractor > > >>that unwraps an OracleConnection with that method. > > > > >> > > >>Juergen > > >> > > >> > > >>________________________________ > > >> > > >>Von: > > >> > > >> =3D20 > > >> > > > >spr...@li... > > >=3D20 > > > > > >>im Auftrag von Bronwen Cassidy > > >>Gesendet: Mo 31.05.2004 04:27 > > >>An: > > spr...@li... > > >>Betreff: RE: [Springframework-developer] re: > > >>OracleLobCreator > > >> > > >> > > >> > > >>Hi I have: > > >> > > >>Weblogic 8 service pack 2 > > >>ojdbc.jar (Oracle9i 9.2.0.1 JDBC Drivers) > > >>Oracle9i > > >>I have set up the connection pool using the > > >>jdbc:oracle:thin (oracle thin > > >>drivers (not weblogic ones) > > >> > > >>Actually I managed to find some information (very > > >>little) one from a > > >>hibernate mail, suggested using the > > >>getPhysicalConnection() instead of > > >>createTemporary, but this method does not seem to > > >>available on the CLOB > > >>class?? > > >> > > >>-----Original Message----- > > >>From: > > >> > > >> =3D20 > > >> > > > >spr...@li... > > >=3D20 > > > > > > >[mailto:spr...@li...] > > >=3D20 > > > > > >>On Behalf Of > > >>Thomas Risberg > > >>Sent: 31 May 2004 02:09 > > >>To: > > spr...@li... > > >>Subject: Re: [Springframework-developer] re: > > >>OracleLobCreator > > >> > > >>Bronwen, > > >> > > >>In order to pinpoint the problem quicker - what > > >>version of WebLogic, > > >>Oracle and JDBC drivers are you using? > > >> > > >>Thomas > > >> > > >>Bronwen Cassidy wrote: > > >> > > >> =3D20 > > >> > > >>>Hi I have a CLOB column in oracle and in the test > > >>> =3D20 > > >>> > > >>there are no > > >> =3D20 > > >> > > >>>problems, unfortunately deploying to weblogic I > > >>> =3D20 > > >>> > > >>get the exception > > >> =3D20 > > >> > > >>>below. We are using classes12.jar whereas > > weblogic > > >>> =3D20 > > >>> > > >>uses ojdbc14.jar, I > > >> =3D20 > > >> > > >>>firstly replaced weblogics jars and classpath > > >>> =3D20 > > >>> > > >>settings to use the > > >> =3D20 > > >> > > >>>classes12.jar, but got the same error, so I > > pulled > > >>> =3D20 > > >>> > > >>weblogic oracle jar > > >> =3D20 > > >> > > >>>into my test classpath to test if the problem was > > >>> =3D20 > > >>> > > >>with the jars but > > >> =3D20 > > >> > > >>>the test worked fine ?? I am really stuck as to > > >>> =3D20 > > >>> > > >>whom this should go to > > >> =3D20 > > >> > > >>>weblogic, oracle, or . I am hoping there is an > > >>> =3D20 > > >>> > > >>expert there who can > > >> =3D20 > > >> > > >>>shed some light. Google did not have a single > > >>> =3D20 > > >>> > > >>match for variations of > > >> =3D20 > > >> > > >>>the first 2 lines!! > > >>> > > >>>java.lang.ClassCastException > > >>> > > >>>at > > >>> > > >>> =3D20 > > >>> > > > = >oracle.jdbc.driver.OracleConnection.unwrapCompletely(OracleConnection.ja= =3D > va:5 > > >=3D20 > > > =3D3D=3D3D=3D3D message truncated =3D3D=3D3D=3D3D > > > =3D20 > =3D20 > =3D20 > ____________________________________________________________ > Yahoo! Messenger - Communicate instantly..."Ping" > your friends today! Download Messenger Now > http://uk.messenger.yahoo.com/download/index.html > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle = 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3D3D3149&alloc_id=3D3D8166&op=3D3Dclick > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle = 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > ------------------------------------------------------- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. = Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |