Estoy usando el JDeveloper 10g para acceder a una función almacenada en una base de datos oracle. El problema es que no puedo conseguir el resultado de la función para utilizarlo en java.
Tengo una función muy simple para probar el acceso, que es la siguiente:
Código:
Llamada a la función desde java:CREATE OR REPLACE FUNCTION F_PRUEBA (provincia IN NVARCHAR2, codigo IN NUMBER) RETURN NUMBER IS prueba NUMBER; BEGIN prueba := 0; RETURN prueba; END F_PRUEBA; /
Código:
Error:cstmt = con.prepareCall("{call F_PRUEBA(? ?)}"); cstmt.setString(1, provincia); cstmt.setInt(2, codigo); cstmt.registerOutParameter(1, Types.INTEGER); int n = cstmt.getInt(1);
Código:
Pdría decirme alguien que es lo que está fallando.java.sql.SQLException: ORA-06550: línea 1, columna 38:PLS-00103: Se ha encontrado el símbolo "" cuando se esperaba uno de los siguientes: . ( ) , * @ % & | = - + < / > at in is mod not range rem => .. <an exponent (**)> <> or != or ~= >= <= <> and or like as between from using || indicator at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:242) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:554)
Muchas gracias.