Ayuda con parametro out en java
Publicado por David Melendez (1 intervención) el 19/12/2005 21:55:59
Ayuda con esto:
tengo el siguiente procedimiento almacenado en oracle...
CREATE OR REPLACE PROCEDURE sp_contxclient(accion IN CHAR,cli_id_cliente IN CONTACTOS_X_CLIENTE.cli_id_cliente%TYPE,
cont_nombre IN CONTACTOS_X_CLIENTE.cont_nombre%type,cont_puesto IN CONTACTOS_X_CLIENTE.CONT_PUESTO%TYPE,
cont_dirfisica IN CONTACTOS_X_CLIENTE.CONT_DIRFISICA%TYPE,IDCONTACTO OUT INTEGER)
IS
cont_idcontacto INTEGER;
BEGIN
cont_idcontacto := 0;
if(accion = 'I')then
SELECT count(*) into cont_idcontacto FROM CONTACTOS_X_CLIENTE;
cont_idcontacto := cont_idcontacto + 1;
-- sp_contxclient2(cont_idcontacto,cli_id_cliente,cont_nombre,cont_puesto,cont_dirfisica);
INSERT INTO CONTACTOS_X_CLIENTE (cont_idcontacto,cli_id_cliente,cont_nombre,cont_puesto,cont_dirfisica) VALUES (cont_idcontacto,cli_id_cliente,
cont_nombre,cont_puesto,cont_dirfisica);
IDCONTACTO := cont_idcontacto;
end if;
END sp_contxclient;
/
y lo ejecuto en java asi :
cnx = new BdConeccion();
CallableStatement stat = cnx.getConnection().prepareCall(SQL_CALL_SP_CONXCLIENT_I);
stat.setString(1,this.identificador);
stat.setString(2,nombre);
stat.setString(3,puesto);
stat.setString(4,dir);
stat.registerOutParameter(5,Types.INTEGER);
//ResultSet res = stat.executeQuery();
//res.next();
stat.executeUpdate();
int identifcont = stat.getInt(5);
donde SQL_CALL_SP_CONXCLIENT_I ES IGUAL A : "{call sp_contxclient('I',?,?,?,?,?)}"
todo bien parece pero me da el error : java.sql.SQLException: ORA-00911: invalid character
porfavor ayudenme...
tengo el siguiente procedimiento almacenado en oracle...
CREATE OR REPLACE PROCEDURE sp_contxclient(accion IN CHAR,cli_id_cliente IN CONTACTOS_X_CLIENTE.cli_id_cliente%TYPE,
cont_nombre IN CONTACTOS_X_CLIENTE.cont_nombre%type,cont_puesto IN CONTACTOS_X_CLIENTE.CONT_PUESTO%TYPE,
cont_dirfisica IN CONTACTOS_X_CLIENTE.CONT_DIRFISICA%TYPE,IDCONTACTO OUT INTEGER)
IS
cont_idcontacto INTEGER;
BEGIN
cont_idcontacto := 0;
if(accion = 'I')then
SELECT count(*) into cont_idcontacto FROM CONTACTOS_X_CLIENTE;
cont_idcontacto := cont_idcontacto + 1;
-- sp_contxclient2(cont_idcontacto,cli_id_cliente,cont_nombre,cont_puesto,cont_dirfisica);
INSERT INTO CONTACTOS_X_CLIENTE (cont_idcontacto,cli_id_cliente,cont_nombre,cont_puesto,cont_dirfisica) VALUES (cont_idcontacto,cli_id_cliente,
cont_nombre,cont_puesto,cont_dirfisica);
IDCONTACTO := cont_idcontacto;
end if;
END sp_contxclient;
/
y lo ejecuto en java asi :
cnx = new BdConeccion();
CallableStatement stat = cnx.getConnection().prepareCall(SQL_CALL_SP_CONXCLIENT_I);
stat.setString(1,this.identificador);
stat.setString(2,nombre);
stat.setString(3,puesto);
stat.setString(4,dir);
stat.registerOutParameter(5,Types.INTEGER);
//ResultSet res = stat.executeQuery();
//res.next();
stat.executeUpdate();
int identifcont = stat.getInt(5);
donde SQL_CALL_SP_CONXCLIENT_I ES IGUAL A : "{call sp_contxclient('I',?,?,?,?,?)}"
todo bien parece pero me da el error : java.sql.SQLException: ORA-00911: invalid character
porfavor ayudenme...
Valora esta pregunta


0