I maked a store procedure at Oracle 8 that have a InputOutput object as parameter, I don´t know how the exact form to pass my recordset to this store procedure. I tried to use this VB code below.

I got the error "Runt-time error 3001 - Arguments are of the worng type, are out of acceptable range, or are in conflict with another." at line
"Set AdoParamRet = .CreatePar....."



`---------- conection -------

Public AdoConn As New ADODB.Connection
AdoConn .Provider = "OraOLEDB.Oracle.1"
AdoConn .ConnectionString = "Data Source=Oracle8;User ID=teste;Password=xxxx;"
AdoConn .Open

`--------------------------------

Private Sub Command1_Click()

Dim vlSql As String
Dim vfRsEmb As New ADODB.Recordset
Dim vfRsEmbRet As New ADODB.Recordset

Public AdoComm As New ADODB.Command
Dim AdoParamRet As ADODB.Parameter

' -----------------------------------------------------------------

vlSql = "select NR_EMB, NR_OPER_CAMBIO, DT_EMB, NR_NOSSA_REF, NM_IMPORTADOR, NR_ERRO, DS_ERRO "
vlSql = vlSql & " FROM PROEX.TPP_EMBARQUE_AUX"

vfRsEmb.Open vlSql, AdoConn, adOpenStatic, adLockOptimistic

' ------------------------------------------------------------------


With AdoComm
.CommandText = "{call PROEX.KPP_LFE.PPP_INSTPP_EMBARQUE_AUX(?)}"
.CommandType = adCmdStoredProc

Set AdoParamRet = .CreateParameter("Retorno", adBSTR, adParamInputOutput, , vfRsEmb)

Call .Parameters.Append(AdoParamRet)

.Properties("PLSQLRSet") = True

Set vfRsEmbRet = .Execute

End With

end sub

`--------------------------------------------------------

Do I need to put here the SP code ?

thanks ...