Error no. 556 while executing a stored procedure remotely
Posted in 2004
Informix
Dynamic Server 7.31UD2R1
on HP-UX 11.0
Configuration:
Host: unix01 Instance:inf001 DBs: db04
Host: unix02 Instance:inf002 DBs: db01,db02 Stored
proc: db02:tp1234
Host: unix03 Instances:inf003 DBs: db02_syn
We have three instances inf001, inf002 and inf003 on
two Unix Boxes unix01, unix02.
We have a stored procedure in instance inf002 in
database db02 by name tp1234.
Here is the body of the stored procedure
CREATE PROCEDURE "informix".tp1234()
RETURNING int, int, int, int;
DEFINE sql_err, isam_err int;
DEFINE lv_msg_code, lv_severity_code int;
DEFINE var_logfile char(30);
DEFINE code int;
ON EXCEPTION SET sql_err, isam_err
IF (code <> 100) THEN
LET lv_severity_code = 2;
END IF;
ROLLBACK WORK;
RETURN sql_err, isam_err, lv_msg_code,
lv_severity_code;
END EXCEPTION;
LET sql_err, isam_err, lv_msg_code, lv_severity_code
=0,0,0,0;
LET code = 0;
LET var_logfile="/tmp/afiiimage_debug.txt";
BEGIN WORK;
SET LOCK MODE TO WAIT 60;
INSERT INTO db01@inf002:kol (age) values (1);
COMMIT WORK;
LET lv_msg_code=0;
RETURN sql_err, isam_err, lv_msg_code,
lv_severity_code;
END PROCEDURE;
The table definition for kol in db01@inf002 is
Create synonym kol for db02_syn@inf003:kol;
and the actual definition for kol in db02_syn in
inf003 is
Create table kol (age int);
Now when we are doing this on unix01,inf001
dbacess db04;
execute procedure db02@inf002:tp1234;
we are getting error 556.
but when we run the stored procedure locally it works
just fine.
Does anyone has any idea about this?
Thanks in advance.
- Vineet
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/