天天看點

VB6:通過ADO通路Oracle存儲過程傳回的結果集

<b>微軟的mdac中oledb for oracle 驅動</b><b>——對過程參數:估計:位置綁定</b>

該驅動最新支援到oracle8i的水準,且不再更新了

使用該驅動。隻能使用odbc的存儲過程調用方式: "{call procename (?,?,....)}"

隻能支援傳回一個記錄集

該記錄集所在的形式sys_refcursor參數可以是最後一個參數 或者是 倒數第二個參數

不支援調用時省略具有預設值的參數!這使得oracle過程擴充——添加後續預設參數變得困難——必須修改調用該過程的程式!!!

必須利用ado的command對象調用,ado自動将該過程傳回的記錄集綁定到ado傳回的recordset對象上

使用該驅動,無需特殊設定。

注意:我們可能注意到有種說法,使用 "{call procename (?,{reseltset 0,io_cursor},?,....)}"的方式——應該是使用odbc oledb的調用方式

<b></b>

<b>oracle的odac中oledb 驅動——對過程參數隻支援位置綁定</b>

該驅動不斷更新

使用該驅動。可以使用odbc的存儲過程調用方式: "{call procename (?,?,....)}";還可以使用oracle的調用方式:"begin  procename (?,?,....) ; end;"。但為了獲得傳回的記錄集,必須使用odbc方式

支援傳回多個記錄集,recordset.nextrecordset()

該記錄集所在的形式sys_refcursor參數可以是任意位置

支援過程的預設參數

必須利用ado的command對象調用,自動将該記錄集綁定到傳回的ado的recordset對象上,通過recordset對象的nextrecordset通路其他記錄集

使用該驅動,必須設定connection對象或command對象的properties("plsqlrset")=true

支援更多的oracle特有的資料類型,具有更高的效率