ClassCastException: OracleResultSet [RESOLVIDO]

3 respostas
alves.Felipe
olá.. estou tentando fazer a consulta no bd onde um campo é do tipo xmlType (CLOB), porém quando vou pegar o ResultSet para fazer a conversão para OracleResultSet, eu recebo um belo ClassCastException... alguém pode me dar uma mão... segue a parte do meu código..
ResultSet rs = st.executeQuery();
		C3P0NativeJdbcExtractor jdbc =  new C3P0NativeJdbcExtractor();
		
		OracleResultSet orset = (OracleResultSet) jdbc.getNativeResultSet(rs);

		if(orset.next())
		{ 
			// get the XMLType 
			XMLType poxml = XMLType.createXML(orset.getOPAQUE("NFE_XML"));

			xml = ((XMLType) poxml).getStringVal();
		}
e minha exception:
java.lang.ClassCastException: com.mchange.v2.c3p0.impl.NewProxyResultSet cannot be cast to oracle.jdbc.OracleResultSet
	at br.com.mili.dao.imp.nfe.ControleNFeDaoImp.findXMLByChaveAcesso(ControleNFeDaoImp.java:80)
	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:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at $Proxy84.findXMLByChaveAcesso(Unknown Source)
	at br.com.mili.dao.test.nfe.TestControleNFeDao.findByXML(TestControleNFeDao.java:64)
	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:597)
	at org.springframework.test.context.junit4.SpringTestMethod.invoke(SpringTestMethod.java:198)
...

3 Respostas

malhuco

Sempre usei para o Oracle o método getBinaryStream(“Campo”) e nunca tive problemas.

alves.Felipe

testei e da erro tb: tipo de coluna inválido…
alguém tem outra sugestão??

alves.Felipe

Resolvi da seguinte forma…
como estou usando Spring, tem a classe C3P0NativeJdbcExtractor, ai eu consigo pegar obter o uma conexçao nativa…
ai não da problemas depois na parte do OracleResultSet

C3P0NativeJdbcExtractor jdbc = new C3P0NativeJdbcExtractor(); Connection con = jdbc.getNativeConnection(s.connection());

Criado 12 de maio de 2010
Ultima resposta 13 de mai. de 2010
Respostas 3
Participantes 2