Hi everybody,

I need some help calling an Oracle stored procedure which is expecting an
Indexed-By Table parameter. Here is a look at what I'm dealing with;

TYPE tROLELIST IS TABLE OF T_SEC_USER_ROLES.ROLE_ID%TYPE
INDEX BY BINARY_INTEGER;

PROCEDURE Change_Security_Access (v_User_ID IN VARCHAR2,
v_Role_List IN tROLELIST,
v_Logged_On_User IN VARCHAR2)

So my question is, how do I call this type of stored procedure using VB6
and ADO (MDAC 2.1)?

Below is an example of how I've been calling all my other stored procedures
(which are basically just expecting either VarChar2's, Number's, etc.). If
possible, I'd like to stay with this style of calling an Oracle stored procedure,
but if that's impossible, then which ever way works would be much appreciated.

sConnect = "DRIVER={Oracle ODBC driver};UID=?????;PWD=?????;DBQ=epr_test"

Set cnOracle = New ADODB.Connection
Set cmdStoredProcedure = New ADODB.Command

With cnOracle
.ConnectionString = sConnect
.CursorLocation = adUseClient
.Open
End With

With cmdStoredProcedure
.CommandText = "SEC_ADMIN.CU_GET_PERSON_INFO"
.CommandType = adCmdStoredProc
.ActiveConnection = cnOracle
.Parameters.Append .CreateParameter(, adVarChar, adParamInput, 40, "MCH_ID")
.Parameters.Append .CreateParameter(, adVarChar, adParamInput, 20, "202020")
.Parameters.Append .CreateParameter(PersonID, adBigInt, adParamOutput,
38)
.Parameters.Append .CreateParameter(FirstName, adVarChar, adParamOutput,
40)
.Parameters.Append .CreateParameter(LastName, adVarChar, adParamOutput,
40)
.Parameters.Append .CreateParameter(UpdateCount, adBigInt,
adParamOutput, 3)
End With

cmdStoredProcedure.Execute

Thanks!
Steve