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

ora-01406 Fehler beim Abrufen von Werten mit OCI

Der in der Frage aufgeführte Fehler wurde in 10.2.0.3 behoben und der Fehler tritt nur in Oracle-Versionen davor auf. Bearbeiten:Das gleiche Problem wurde in Oracle 10.2.0.4 festgestellt. Wir prüfen dies noch.

Edit2:Beim Definieren von Cursorn für CHAR/VARCHAR-Spalten in OCI (wir verwenden einen Wrapper für diesen Zweck), muss die Größe der Zeichenfolge, die an eine Spalte gebunden ist, mindestens um eins größer sein als die maximale Breite der Spalte.

z.B. Spaltenname:U_NAME Typ:VARCHAR(30)

1.char zName[30];pCursor->Define(zName, 3O); // Dies würde abstürzen, wenn die Spalte einen Wert mit 30 Zeichen hat

2.char zName[31];pCursor->Define(zName, 3O); // Dies würde abstürzen, wenn die Spalte einen Wert mit 30 Zeichen hat

3.char zName[31];pCursor->Define(zName, 31); // Richtig. würde bei keinem Wert abstürzen