Erros ao usar CLOB no , oracle 8i, weblogic 6 e jdk 1.3

4 respostas
J

e ae Galera tô num apuro danado aqui :???:
estou com um problema com esses 3 recursos seguintes
weblogic 6.1,com o JDK 1.3 e ORACLE 8i

estou tentando enviar informações para um CLOB do oracle8i
o código abaixo funciona até no TOMCAT 5, com JDK 1.4 mas quando joguei no weblogic 6.1, que tem jdk1.3 não deu certo

1 public oracle.sql.CLOB getCLOB(java.sql.Connection con, String clobValue) throws Exception {

2    oracle.sql.CLOB clob = null;

3    //OracleCallableStatement ocs = null;

4    weblogic.jdbc.rmi.SerialCallableStatement ocs = null;

5    try {

6      //ocs = (OracleCallableStatement) con.prepareCall(getClobSQL());

7        ocs = (weblogic.jdbc.rmi.SerialCallableStatement) con.prepareCall(getClobSQL());

8      ocs.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.CLOB);

9      ocs.execute();

10      clob = ocs.getCLOB(1);

11      clob.putString(1, clobValue);

12    } catch (Throwable e) {

13        cat.error ("Erro ao adquirir CLOB  " + e.fillInStackTrace().toString() );

14

15    } finally {

16      ocs.close();

17    }

18    return clob;

19  }

na linha 9 é acionado o erro e dá erro de CLassCastException na linha 7
a linha de cima a 6 eu comentei pq ele me dava outro erro de acho que o weblogic naõ suportava esse
oracle.jdbc.driver.OracleCallableStatement

já procurei alguma outra forma de fazer isso mas não encontrei, poderiam me ajudar :slight_smile: ???

4 Respostas

R

Cara, eu pego o CLOC assim no jdk 1.3:

#campoClob => nome do campo a ser lido que é do tipo CLOBclobField = ((OracleResultSet)resultSet).getCLOB(#campoClob);

long lenClob = clobField.length();

String clobString = clobField.getSubString(1L,(int)lenClob);

De resto eh conexão normal com banco mesmo…

Falows!!

J

é que na verdade eu naõ vou precisar de um REsultSet pq estou apenas inserindo uma String gigante aqui :

clob.putString(1, clobValue); onde o clobValue é a String gigante.

usando esse SerialCallableStatement) con.prepareCall( { ? = call pontos.MEUCLOB() } );
ocs.registerOutParameter(1, OracleTypes.CLOB);

e ao executar nesta linha

ocs.execute();

vai para o catch (Throwable e)

exibindo este erro

java.sql.SQLException: getCLOB is not supported by the Weblogic JDBC Drivers
R

“java.sql.SQLException: getCLOB is not supported by the Weblogic JDBC Drivers”

Ixi… cara, ao inves de vc usar o JDBC Driver do Weblogic, não tem chance de você tentar usar o Oracle Driver, como eu usei? Ai fica “nativo”…

Abraços!

K

Meu kerido carlos,

Aconselho voce a perguntar isso para o Mario.

khazooo

Criado 5 de julho de 2005
Ultima resposta 6 de jul. de 2005
Respostas 4
Participantes 3