Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle.Dataaccess-Fehler ORA-06502:PL/SQL:Numerischer oder Wertfehler:Zeichenkettenpuffer zu klein

Antwort gefunden.

Für den OUT-Parameter habe ich die Größe auf max von varchar - 32767 deklariert und es fing an zu arbeiten.

Zur Vereinfachung gibt die gespeicherte Prozedur einen Parameter OUT vom Typ VARCHAR2 zurück. Aber um diese Ausgabe von .NET zu konsumieren, habe ich VARCHAR2 ohne Größe übergeben. Der zugewiesene Pufferspeicher zum Empfangen des Rückgabewerts betrug also 0 Bytes. Wenn der Prozess den Wert zurückgibt, der größer als der zugewiesene Puffer ist, der 0 Bytes beträgt, tritt ein Fehler auf.

Also habe ich das Maximum von VARCHAR2-32767 im C#-Code angegeben und es fing an zu arbeiten :).