Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Pro*C Issue: Hanging

916952Feb 12 2012 — edited Feb 16 2012
Hello everybody, I'm very new to this forum and I would like to submit you a question.
I got some big problem on fetching values - inserting values from an oracle Db (input) to another (output).
I'm using Pro*C, and the tables both in Dbin and DbOut, have the same features.

Here it is a simplified code:

--------------------------------------------------------------------------------------------------------

EXEC SQL AT dbInput CONNECT :connIN;
EXEC SQL AT dbOutput CONNECT :conn;

EXEC SQL BEGIN DECLARE SECTION;
here i declare the variables to store datas:
struct cc_struct, struct cc_ind,
int Other_value etc.
EXEC SQL END DECLARE SECTION;

...

for (;;) {

EXEC SQL AT dbInput
DECLARE cursor_input CURSOR FOR
SELECT ...

EXEC SQL AT dbInput OPEN cursor_input

*/Starts fetching values*/

EXEC SQL AT dbInput
FETCH cursor_input
INTO :cc_struct indicator :cc_ind;

for (;;) */ Here the inner loop: writes on destination DB values taken from source DB*/
{

EXEC SQL AT dbOutput
INSERT INTO TABLE
(coumn1, column2 ...)
VALUES(cc_struct.value1, cc_struct.value2...)
RETURNING Other_values into Other_value

//here another fetch


EXEC SQL AT dbInput
FETCH cursor_input
INTO :cc_struct indicator :cc_ind;

*/ TERMINATES when sqlca.sqlcode is 1403, or when retrieves an error
}

*/ TERMINATES when sqlca.sqlcode is 1403, or when retrieves an error
}


------------------------------------------------------------------------------------------------

The issue comes when i'm trying to insert the values at dbOutput: it seems to run fine when retrieves/writes
the first record, then it HANGS, without returning me any useful information, such as runtime errors or Oracle error.
Any ideas?
I thought it could be that, when i'm tring to retrieve the datas for the second time (inner-loop fetch), i'm
doing it wrong, perhaps i need to clean the struct before inserting new values on it.
The second idea is that i'm suddenly loosing connection towards the output Db, in fact, when i put the connection
string (EXEC SQL AT dbOutput CONNECT :conn) before the INSERT operation, it works well.
and, oh, forgot to mention that the system is SUN/SOLARIS.
Thank you very much,
cheers,
Archduke
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 15 2012
Added on Feb 12 2012
1 comment
395 views