Oracle8的OCI函式中引數使用的注意事項

2021-06-01 22:07:47 字數 667 閱讀 3069

oracle8的oci函式中引數使用的注意事項

在呼叫ocistmtexcute()函式執行查詢後,呼叫ocidefinebypos(ocistmt*stmtp,

ocidefine **defnpp,

ocierror *errhp,

ub4 position,

dvoid *valuep,

sb4 value_sz,

ub2 dty,

dvoid *indp, //指示器變數

ub2 *rlenp,

ub2 *rode,

ub4 mode)函式來為所選字段的字段值繫結輸出變數時,如果不使用dvoid* indp 引數,即指示器引數,則在通過ocstmtexecute()函式或者ocistmtfetch()函式來獲取欄位值時,函式的返回值有可能是-1,但是呼叫ocierrorget()函式來獲取錯誤**和錯誤資訊時,錯誤**errorcode為0並且錯誤資訊為空,在使用afxmessagebox()函式來獲取錯誤資訊時,會出現記憶體錯誤,如下圖所示:

因此在呼叫ocidefinebypos()函式時,要盡可能地使用dvoid*indp即指示器引數,指示器變

量的資料型別為 sb2 ,定義方式如下

sb2 pindval;或者 sb2 * pindval = new sb2;

Oracle8的不安全因素及幾點說明

oracle8的不安全因素及幾點說明 作為物件關係型資料庫的傑出代表,oracle無疑是最具實力的。無論是在資料庫的規模,多 資料型別的支援,sql操作複製的並行性還是在安全服務方面,oracle均比sybase informix強許多,加上其最新版本oracle8.0.4更是增強了這方面的特性,而...

Oracle8 OCI獲取多個字段值的程式設計步驟

oracle8 oci獲取多個字段值的程式設計步驟 在使用oracle8的oci獲取多個欄位值時,程式設計的順序是 1.拼接生成sql語句 2.分配語句控制代碼,3.準備sql語句 4.執行sql語句 5.分配ocidefine控制代碼,根據所選字段的型別來定義輸出變數,如果所選字段中有lob欄位,...

oracle中oradim的pfile引數

該檔案的命名約定預設為 init oracle sid.ora unix環境下 init oracle sid ora windows環境下 預設地將其放在以下目錄中 oracle home dbs unix oracle home database windows 該引數檔案不必放在指定的位置上。...