CALLABLESTATEMENT

sara
27 de Agosto del 2005
hola tengo un procedimiento almacenado en oracle que se llama AGREGAESQUEMA y si lo pruebo en Oracle con unos parametros determinados funciona perfectamente. Ahora quiero ejecutar eso mismo desde java, para ello escribo:

CallableStatement cs=conn.prepareCall("{agregaEsquema('DIRECTORIO','iden3','prueba2','base2.sql','base2.gif','base2.txt','sisisi')}");
cs.executeUpdate();

estos mismos parametros los he probado en oracle y funciona pero desde java me da una excepcion que dice:

java.sql.SQLException: Elemento SQL92 no soportado en la posición: 14: agregaEsquema

me podeis ayudar?? estoy bastante perdida.

Juan Carlos Perez
27 de Agosto del 2005
lo que pasa sara es que no puedes pasarle los parametros dentro del preparre call , lo que debes hacer es agregarEsquema(?,?,?,?,?,?,?); y luego hacer los setInt para los enteros y los setString para las cadenas algo como esto

String sql = "{ call tu_procedimiento( ?, ? ) }";
stmt = conn.prepareCall(sql);
stmt.setInt(1, 100);
stmt.setDouble(2, 100.45);

stmt.executeUpdate();