ESQL/C ?, What is this?
Posted in 1996
This is not the first EXEC SQL execute statement in this program. There are several successful calls and then this one statement does this Break at: \\\\bil_rec\\main\\79 <== this is the entry into get_prc Location "ub.1" not found in "\\\\bil_rec\\get_prc". Statement "823" not found in specified environment. Statement "833" not found in environment "\\\\bil_rec\\get_prc". Intercepted event type 'signal SIGSEGV'. Stopped at: sendshm+001c (7AF04F1C) Unable to determine statement boundaries; stepping 1 instruction. Intercepted event type 'signal SIGSEGV'. Process 16385 was killed (signal 11). Here is get_prc /************************************************************************* * * Function: get_prc * * Return: * * Calls: None * * Exit: None * * Description: Gets the proc description from prc table. * *************************************************************************/ char * get_prc(doc, proc_code) EXEC SQL begin declare section; parameter long doc; parameter char * proc_code; EXEC SQL end declare section; { EXEC SQL begin declare section; char desc[100]; EXEC SQL end declare section; EXEC SQL execute get_prc into :desc using :doc, :proc_code; if (SQLCODE == 100) { strcpy (desc, " "); } else { sqlfatal(); } return (desc); } It is worth noting that I have extracted this function and put it in a small program designed to just run this function. It worked flawlessly. So, What in the world is going on? Any suggestions?