Problem using associative arrays in vb6 with ORAOLEDB for Oracle 10g
625041Feb 25 2008 — edited Mar 7 2008The following vb6-code works fine with MS OLEDB (in MDAC 2.8) but not with Oracles OLEDB for 10g. Any suggestions for making it work?
'vb6-code:
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = oConn 'oConn is already initiaded - code not included here.
rs.Source = "{call PCK_PW_RF_PERSON.P_PW_BIRTHDAY('BURSDAG','2008','01',{resultset 200000, PARAM1,PARAM2,PARAM3})}"
rs.LockType = vntLockType
rs.CursorLocation = adUseClient
rs.CursorType = vntCursorType
rs.Open
Databaseobjects involved:
PACKAGE "PCK_PW_RF_PERSON" IS
TYPE tpv_param1 IS TABLE OF VARCHAR2 INDEX BY BINARY_INTEGER;
TYPE tpv_param2 IS TABLE OF VARCHAR2 INDEX BY BINARY_INTEGER;
TYPE tpv_param3 IS TABLE OF VARCHAR2 INDEX BY BINARY_INTEGER;
.
.
.
PROCEDURE P_PW_BIRTHDAY
(
pv_i_sreportid IN VARCHAR2,
pv_i_year IN VARCHAR2,
pv_i_month IN VARCHAR2,
PARAM1 OUT tpv_param1,
PARAM2 OUT tpv_param2,
PARAM3 OUT tpv_param2
)
IS
CURSOR X IS select '1' AS PARAM1,'2' AS PARAM2,'3' AS PARAM3 FROM DUAL;
i NUMBER DEFAULT 1;
BEGIN
FOR c IN X LOOP
PARAM1(i) := c.PARAM1;
PARAM2(i) := c.PARAM2;
PARAM3(i) := c.PARAM3;
i := i + 1;
END LOOP;
END P_PW_BURSDAG;