Acceso a procedimientos almacenadas desde Java

mabrev
06 de Abril del 2005
Hola:

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:


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;
/


Llamada a la funci贸n desde java:

cstmt = con.prepareCall("{call F_PRUEBA(? ?)}");
cstmt.setString(1, provincia);
cstmt.setInt(2, codigo);
cstmt.registerOutParameter(1, Types.INTEGER);
int n = cstmt.getInt(1);


Error:


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)


Podr铆a decirme alguien que es lo que est谩 fallando??

Muchas gracias.