偵錯PROC*C程式時,SQL語句執行資訊都存放在sqlca和oraca中
sqlca是ORACLE提供的兩個通訊區之一。
sqlca實際上是一個結構變數,其目的是為了診斷錯誤和儲存事件處理結果
sqlca中包含了sql語句執行時資訊:
1. Oracle錯誤碼
2. 警告資訊
3. 事件資訊
4. 處理的記錄集行計數
5. 診斷資訊
struct sqlca
{
/* ub1 */ char sqlcaid[8];
/* b4 */ int sqlabc;
/* b4 */ int sqlcode;
struct
{
/* ub2 */ unsigned short sqlerrml;
/* ub1 */ char sqlerrmc[70];
} sqlerrm;
/* ub1 */ char sqlerrp[8];
/* b4 */ int sqlerrd[6];
/* ub1 */ char sqlwarn[8];
/* ub1 */ char sqlext[8];
};
#ifdef SQLCA_INIT
= {
{'S', 'Q', 'L', 'C', 'A', ' ', ' ', ' '},
sizeof(struct sqlca),
0,
{ 0, {0}},
{'N', 'O', 'T', ' ', 'S', 'E', 'T', ' '},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
}