Oracle
 sql >> Database >  >> RDS >> Oracle

Errore:il tipo di parametro non è supportato nel codice ADODB dell'ASP classico

Aggiornamento: - Apparentemente dopo un po' di ricerca (dato che non lavoro con Oracle) ADODB non supporta adVariant (che è 12 ) e dovresti usare adVarChar (che è 200 ) invece.

Vedere A:ASP classico che chiama la stored procedure Oracle con OraOleadb Driver

Lasciando il resto della risposta di seguito poiché probabilmente è ancora rilevante una volta risolto il problema.

La causa di quel particolare errore è solitamente una mancata corrispondenza del tipo di dati una volta che ADODB parla con il provider definito dalla connessione.

Sto solo guardando la definizione della procedura in Oracle rispetto al tuo ADODB.Command oggetto posso vedere che il p_return il parametro sembra essere errato. Ne parlo in una risposta precedente a una domanda simile .

Secondo Mappatura del tipo di dati (un'ottima risorsa per la mappatura dei tipi di dati in ADO) adInteger (che è 3 ) mappa a Int in Oracle non Number . Invece, dovresti usare adNumeric (che è 131 ) che dovrebbe correggere quel particolare errore.

Prova a cambiare questa riga

strcmd2.Parameters.Append strCmd2.CreateParameter("p_return", 3, 2)

a

strcmd2.Parameters.Append strCmd2.CreateParameter("p_return", 131, 2)

Link utili