Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Błąd:typ parametru nie jest obsługiwany w kodzie ADODB klasycznej ASP

Aktualizacja: - Najwyraźniej po odrobinie badań (ponieważ nie pracuję z Oracle) ADODB nie obsługuje adVariant (czyli 12 ) i powinieneś użyć adVarChar (czyli 200 ) zamiast tego.

Zobacz O:Klasyczna ASP wywołująca procedurę składowaną Oracle ze sterownikiem OraOleadb

Pozostawiając resztę odpowiedzi poniżej, ponieważ prawdopodobnie nadal będzie ona aktualna po rozwiązaniu tego problemu.

Przyczyną tego konkretnego błędu jest zwykle niezgodność typu danych, gdy ADODB komunikuje się z dostawcą zdefiniowanym przez połączenie.

Wystarczy spojrzeć na definicję procedury w Oracle w porównaniu z twoim ADODB.Command obiekt Widzę, że p_return parametr wydaje się być nieprawidłowy. Mówię o tym w poprzedniej odpowiedzi na podobne pytanie .

Według Mapowanie typu danych (świetne źródło mapowania typów danych w ADO) adInteger (czyli 3 ) mapuje na Int w Oracle nie Number . Zamiast tego powinieneś użyć adNumeric (czyli 131 ) które powinny naprawić ten konkretny błąd.

Spróbuj zmienić tę linię

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

do

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

Przydatne linki




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie za pomocą instrukcji w kolumnie VARCHAR2

  2. Problemy z kompilacją biblioteki OCILIB OCI Wrapper

  3. Jak wyprowadzić wynik Oracle SQL do pliku w systemie Windows?

  4. Tylko kopia zapasowa schematu SQL?

  5. Przekazywanie listy dat do funkcji Oracle db przez java