Problem with stored procedure and ProC
From: Alan Barclay <barclaya_at_NO-SPAM.aberdeen.geoquest.slb.com>
Date: 1998/04/07
Message-ID: <3529FFF1.58E4B624_at_NO-SPAM.aberdeen.geoquest.slb.com>#1/1
EXEC SQL END DECLARE SECTION; bla = "bla";
start = "01-APR-98";
end = "01-APR-98";
END-EXEC; sqlca.sqlerrm.sqlerrmc[ sqlca.sqlerrm.sqlerrml - 1 ] = '\0'; printf("%s\n", sqlca.sqlerrm.sqlerrmc );
Date: 1998/04/07
Message-ID: <3529FFF1.58E4B624_at_NO-SPAM.aberdeen.geoquest.slb.com>#1/1
Hi,
I would appreciate some help from anybody who is familiar will calling stored procedures from ProC.
The problem for me is that the stored procedure which I need to call takes 3 IN arguments (easy) and 1 OUT argument (hard). Below is the code which I am using, but always it complains about the OUT variable either not being bound or there being no SELECT. This all seems so simple but neither of the two versions of code works!
Thank in advance for any ideas.
// TRY 1
EXEC SQL BEGIN DECLARE SECTION;
char *bla; char *start; char *end; varchar op[ 1024 ];
EXEC SQL END DECLARE SECTION; bla = "bla";
start = "01-APR-98";
end = "01-APR-98";
EXEC SQL EXECUTE
BEGIN sp_tv( :bla, :start, :end, :op ); END;
END-EXEC; sqlca.sqlerrm.sqlerrmc[ sqlca.sqlerrm.sqlerrml - 1 ] = '\0'; printf("%s\n", sqlca.sqlerrm.sqlerrmc );
printf("[%s] %d\n", op, sqlca.sqlcode );
// TRY 2
sprintf( sql, "BEGIN sp_tv( 'bla', '01/01/1990 00:00:00', '02/01/1990
00:00:00', :op ); END;" );
EXEC SQL DECLARE CD STATEMENT; EXEC SQL PREPARE CD FROM :sql; EXEC SQL EXECUTE CD USING :op;
-- Alan Barclay Schlumberger GeoQuest barclaya_at_aberdeen.geoquest.slb.comReceived on Tue Apr 07 1998 - 00:00:00 CEST