1. 作用:建立所選字段中的乙個欄位和輸出緩衝區的結合
2. 函式原型:
sword ocidefinebypos(
ocistmt *stmtp,
ocidefine **defnpp,
ocierror *errhp,
ub4 position,
dvoid *valuep,
sb4 value_sz,
ub2 dty,
dvoid *indp,
ub2 *rlenp,
ub2 *rcodep,
ub4 mode
);
3. 引數分析
stmtp:請求 sql 查詢的語句控制代碼。4. 注釋defnpp:指向定義控制代碼指標的指標。如果這個引數為 null,這個函式將會隱式地分配定義控制代碼。在重新定義的情況下,乙個非null 控制代碼可以傳遞到這個引數。這個控制代碼用來儲存某個欄位的定義資訊。
errhp:錯誤控制代碼,當有錯誤發生時,我們可以將該錯誤控制代碼傳遞至 ocierrorget()函式獲取診斷資訊。
position:這個值在所選字段中的位置。位置是從 1 開始的,並且從左向右遞增。
valuep:指向 dty 引數所指明的型別的緩衝區或者緩衝區陣列的指標。對於 lob 字段,緩衝區指標必須是ociloblocator 型別的 lob 定位符的指標。
value_sz: valuep 指標所指向的緩衝區的大小。
dty:資料型別。用於指明所選字段如何轉換為程式變數。
indp:指示器變數或者陣列的指標。對於標準變數,該指標為指向 sb2 型別的的指標或者是乙個 sb2 型別的陣列。
rlenp:指向獲取到的資料的長度的陣列的指標。rlenp 中的每個元素都是資料的長度。
rcodep:字段級返回**陣列的指標。
mode:模式。有效的模式為:
·oci_default—預設模式。
·oci_define_soft.
·oci_dynamic_fetch.
這個函式定義乙個將要從 oracle 伺服器中獲取資料的輸出緩衝區。這個函式會為所選字段隱式地分配定義控制代碼。如果*defnpp 為乙個非空指標,oci 假設這個指標指向乙個之前通過 ocihandlealloc()函式或者 ocidefinebypos()函式分配的有效的控制代碼。
獲取 lob 字段型別時,緩衝區指標必須是乙個指向 ociloblocator 型別的 lob 定位符的指標,通過 ocidescriptoralloc()函式來分配它。lob 字段返回 lob 定位符,而不是 lob 資料。
OCI學習筆記 一
最近要做乙個客戶端自動更新的東西,用c語言實現。很久不碰c語言了,能分到這樣的活,既開心又倍感壓力。具體實現的過程中,涉及到對oracle資料庫的訪問,以前上學時用c語言連mysql倒是做過些嘗試,但是連oracle卻沒做過。so,上網搜尋資料啦。pro c c odbc oci第一種方式相對來說,...
在debian上除錯OCI
在debian上除錯oci的時候接連出現了幾個問題,google,baidu了半天,加上查閱了n多亂七八糟的資料,終於算是解決了。1.首先是debian下環境變數的設定問題,在 etc profile 以及,bash profile下設定,重新登入後都不起作用,在 bashrc檔案裡設定,set檢視...
OCI面經 流程篇
hr call 電面 final interview 三輪vo lc49,bq,design hashmap hr call就是 如果簡歷符合jb上minimum requirement的話,好好準備一下簡歷就可以了吧,當時hr問了我很多實習的details 店面 店面沒有問lc,問了一些基礎,比如...