Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Erro:o tipo de parâmetro não é suportado no código ADODB do ASP clássico


Atualização: - Aparentemente depois de um pouco de pesquisa (já que não trabalho com Oracle) ADODB não suporta adVariant (que é 12 ) e você deve usar adVarChar (que é 200 ) em vez de.

Consulte A:ASP clássico chamando o procedimento armazenado Oracle com o driver OraOleadb

Deixando o restante da resposta abaixo, pois provavelmente ainda será relevante quando esse problema for corrigido.

A causa desse erro em particular é geralmente uma incompatibilidade de tipo de dados, uma vez que o ADODB fala com o provedor definido pela conexão.

Apenas olhando para a definição do procedimento no Oracle em comparação com o seu ADODB.Command objeto eu posso ver que o p_return parâmetro parece estar incorreto. Falo sobre isso em uma resposta anterior para uma pergunta semelhante .

De acordo com Mapeamento de tipo de dados (um ótimo recurso para mapeamento de tipo de dados no ADO) adInteger (que é 3 ) mapeia para Int no Oracle não Number . Em vez disso, você deve usar adNumeric (que é 131 ) que deve corrigir esse erro específico.

Tente mudar esta linha
strcmd2.Parameters.Append strCmd2.CreateParameter("p_return", 3, 2)

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

Links úteis