26/01/2012, 15:15
|
| | Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 9 meses Puntos: 1 | |
error al rescatar parametro varchar2 desde java Amigos, tengo una clase java desde la que llamo un procedimiento almacenado, que tiene 2 parámetros de salida un cursor y un varchar2, los rescato sin problema en java, es decir no se cae la clase, pero al ver el valor que trae el varchar2 me sale el siguiente mensaje:
No existe mensaje definido para el código de error: 106
Creo que estoy rescatando el dato con un tipo que no es, pero ya los he probado todos los que puedan ser compatibles con String y me aparece el mismo mensaje, espero me puedan ayudar, este es el código de mi clase.
package pruebas;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.sql.CallableStatement;
import java.util.ArrayList;
import javax.naming.NamingException;
import oracle.jdbc.OracleTypes;
import oracle.jdbc.oracore.OracleType;
public class PruebaSp {
private Connection con_Oracle;
private String sbd = "xe";
private String suser = "jvg";
private String spass = "jvg";
private String surl = "jdbc:oracle:thin:@172.17.176.119:1521:" + sbd;
public void PruebaLamadaASp(){
ResultSet rsResultado = null;
String sResultado;
SV_mensaje in out nocopy varchar2);
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con_Oracle = DriverManager.getConnection(surl, suser, spass);
CallableStatement csSp = con_Oracle.prepareCall("{call PKG_BCO_CONSULTA_PG.PRC_BCO_OBTENER_BANCOS_PR(?,?) }");
csSp.registerOutParameter(1,OracleTypes.CURSOR);
csSp.registerOutParameter(2,Types.VARCHAR);
csSp.execute();
rsResultado = (ResultSet)csSp.getObject(1);
sResultado = csSp.getString(2).toString();
System.out.println(sResultado);
/*
while(rsResultado.next()){
System.out.println(sResultado);
}
*/
}catch(Exception e){
e.printStackTrace();
}
}
} |