proc advance debug capabilities ?
Date: Sat, 25 Jun 2005 02:49:41 +0200
Message-ID: <d9i93n$obo$1_at_biggoron.nerim.net>
Hello,
My question is about how to *fully debug* what happened in sql
statements in proc programs ...
I use sqlgls function to output sql statements but I'd like to know if
there's a way to output bind variables (without knowing how many for
example because of dyn method 2/3)) ?
I did not find any documentation about that :(
I've noticed that proc generates code for each bind variable for each statement and It looks like (<xx> refer to changing part) : /**/
sqlstm.sqhstv[6] = (unsigned char *)&g_sMyVariable; sqlstm.sqhstl[6] = (unsigned long )10; sqlstm.sqhsts[6] = ( int )0; sqlstm.sqindv[6] = ( short *)0; sqlstm.sqinds[6] = ( int )0; sqlstm.sqharm[6] = (unsigned long )0; sqlstm.sqadto[6] = (unsigned short )0; sqlstm.sqtdso[6] = (unsigned short )0;
/* => mean => */
sqlstm.sqhstv[<bind var pos (start _at_0)>] = (unsigned char *)&<bind variable name>;
sqlstm.sqhstl[<bind var pos (start _at_0)>] = (unsigned long )<???>; sqlstm.sqhsts[<bind var pos (start _at_0)>] = ( int )<???>; sqlstm.sqindv[<bind var pos (start _at_0)>] = ( short *)<???>; sqlstm.sqinds[<bind var pos (start _at_0)>] = ( int )<???>; sqlstm.sqharm[<bind var pos (start _at_0)>] = (unsigned long )<???>; sqlstm.sqadto[<bind var pos (start _at_0)>] = (unsigned short )<???>; sqlstm.sqtdso[<bind var pos (start _at_0)>] = (unsigned short )<???>;
Is there a way to scan for sqhstv table knowing data type, and be sure not to overrun ?
[Quoted] [Quoted] Moreover I do not want to alter database cfg with package like dbms_system (for example, no sys.dbms_system.set_ev( < sid >,< serial >, 10046, < trace level >=4 >, '')).
Thanks for help !
z. Received on Sat Jun 25 2005 - 02:49:41 CEST