Well, I’m not a rookie with IRD but I did not use it since a while and especially the database wizard.
I’m stuck using the procedure data access expression.
My procedure is working fine when executed from Toad or SQL*Plus.
I don’t remember how to cast an Oracle procedure easily : shame on me
Thanks for your help folks >
URS logs below:
17:25:53.451_I_I_00a50180f7cfe0b0 [07:38] HERE IS XDATA D_I [07:38] request 6 to dbserver DEV_PRI_DBS_01 sent: UPDATE_TEST BR_SITE=‘999’
17:25:53.451_M_I_00a50180f7cfe0b0 [17:11] VQ 00d93500 first available call: none, reason=strategy
…
17:25:53.466_I_I_00a50180f7cfe0b0 [09:05] >>>>>>>>>>>>resume interpretator(0)
_I_E_00a50180f7cfe0b0 [09:05] error in strategy: 0013 Remote error
_I_I_00a50180f7cfe0b0 [09:04] ASSIGN: __DBReturn(SCRIPT) ← STRING
DBServer logs below:
17:28:59.236 Dbg 10741 ‘App (DEV_PRI_URS_01,livdatgen05,0)’ has put request id=‘7’ into queue
17:28:59.236 Dbg 10737 Forwarding request ‘7’ from ‘App (DEV_PRI_URS_01,livdatgen05,0)’ to ‘Oracle: 40.1’
17:28:59.236 Dbg 10743 ‘Oracle: 40.1’ is spare
17:28:59.252 Dbg 10739 Oracle: id=‘40.1’ req=‘7’ execute sp: UPDATE_TEST BR_SITE=‘999’
+0015 MSG_ERROR status=‘5’ msg='ORA-06550: line 2, column 1:
PLS-00306: wrong number or types of arguments in call to ‘UPDATE_TEST’
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
Related procedure below:
CREATE OR REPLACE PROCEDURE UPDATE_TEST (
BR_SITE IN CHAR, OUTPUT OUT CHAR)
AS
– String definition
STR_SITE CHAR(3) := BR_SITE;
BEGIN
INSERT INTO RPT1 (BR_SITE) VALUES (STR_SITE);
OUTPUT := 'OK';
COMMIT;
EXCEPTION
WHEN OTHERS THEN
OUTPUT := 'KO';
Your stored procedure has 2 parameters so you have to specify both when trying to call it. Please modify configuration in IRD and add following parameter “OUTPUT = @out”.
Thanks Kevin for your help but the “OUTPUT OUT CHAR” is the right syntax in a stored procedure.
Thanks René, I’ve done it but it’s still failing.
The next step in the wizard is to assign an output value to a variable and I’ve done it too.
I tried to change the type of the variable used with an integer and I’ve changed it into the procedure too but it’s still failing! Those output values are a nightmare :-[
Sql statement in the wizard below:
UPDATE_TEST BR_SITE=varSITE,OUTPUT=@out
If I remove the OUPUT=@out in the wizard, it’s working… but I need to get a status from the procedure.