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 該引數檔案不必放在指定的位置上。...