Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> ORA-03106: fatal two-task communication protocol error
Hi,
I have got ORA-03106: fatal two-task communication protocol error.
Oracle8 Documentation recommends the following action: Action: Contact customer support.
//--------------------
//-------------------- Is there another action? Thanks in advance, Alex //######################################################### //------------------- Pro*C++ code : BEGIN ---------------- EXEC SQL BEGIN DECLARE SECTION; const int MAX_SIZE = 2001;EXEC SQL END DECLARE SECTION; typedef char asci_str [MAX_SIZE];
EXEC SQL BEGIN DECLARE SECTION;
EXEC SQL TYPE asci_str IS STRING(MAX_SIZE) REFERENCE;
EXEC SQL END DECLARE SECTION;
//------------------------------------------------- void sql_error_print (const RWCString& msg_i) { EXEC SQL WHENEVER SQLERROR CONTINUE; cout << endl; cout << "######## ORA ERROR : BEGIN ########"; cout << endl; cout << msg_i
<< "; sqlca.sqlcode = "
<< sqlca.sqlcode
<< endl;
cout << ""
<< sqlca.sqlerrm.sqlerrmc
<< endl;
cout << "######## ORA ERROR : END ##########"; cout << endl; EXEC SQL WHENEVER SQLERROR CONTINUE;
} // void sql_error_print ()
//-------------------------------------------------RWBoolean tableExists (const RWCString& tableName_i) {
EXEC SQL WHENEVER SQLERROR CONTINUE;
RWBoolean ret_boolValue = FALSE; RWCString tmp_str; tmp_str = "SELECT TABLE_NAME FROM " + USER_tables_ORA_CNS + " WHERE TABLE_NAME='" + tableName_i + "'"; EXEC SQL BEGIN DECLARE SECTION; const char *host_command_line = ((const char*)tmp_str); asci_str host_chars; short host_ind;
//=========================== EXEC SQL WHENEVER SQLERROR GOTO case_PREPARE_error; EXEC SQL PREPARE the_exec FROM :host_command_line; //=========================== EXEC SQL WHENEVER SQLERROR GOTO case_DECLARE_error; EXEC SQL DECLARE the_cursor CURSOR FOR the_exec; //=========================== EXEC SQL WHENEVER SQLERROR GOTO case_OPEN_error; EXEC SQL OPEN the_cursor; //============================================= int count; for(count = 0; ;count++) { EXEC SQL WHENEVER SQLERROR DO sql_error_print ("FETCH the_cursor"); EXEC SQL FETCH the_cursor INTO :host_chars INDICATOR:host_ind;
//====================================== switch (sqlca.sqlcode) { case 0 : case 1403 : // Empty break; default : sql_error_print ("ILLEGAL sqlcode ERROR VALUE"); assertion (0); } // switch (sqlca.sqlcode) //======================================= //======================================= if (sqlca.sqlcode == 1403) { break; } //======================================= ret_boolValue = TRUE; //=========================================== } // for(int i = 1; ;i++) EXEC SQL WHENEVER SQLERROR GOTO case_CLOSE_error; EXEC SQL CLOSE the_cursor; return ret_boolValue; //================================= //################################# //================================= case_PREPARE_error : return FALSE; case_DECLARE_error : return FALSE; case_OPEN_error : return FALSE; case_CLOSE_error : return FALSE;
} // RWBoolean tableExists(const RWCString&
//------------------- Pro*C++ code : END ------------------ //#########################################################//-------------- Results of the Running : BEGIN -----------
FETCH the_cursor; sqlca.sqlcode = -3106 ORA-03106: fatal two-task communication protocol error
//-------------- Results of the Running : END -------------
//######################################################### //------------------- Environment ------------------------- === Oracle 8.0.5 === Pro*C/C++ : Release 8.0.5.0.0 === RogueWave Tools.h++ : 7.0
//--------------------------------------------------------- //#########################################################
Sent via Deja.com http://www.deja.com/
Before you buy.
Received on Mon Jan 03 2000 - 01:36:28 CST
![]() |
![]() |