Skip to Main Content

Deutsche

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Please ask technical questions in the appropriate category. Thank you!

ORA-01406 bei Umlauten

steph0hNov 12 2019 — edited Nov 13 2019

Im Rahmen der Migration von Forms 11g nach 12c sind wir hier auf ein interessantes Problem gestoßen: und zwar tritt unter bestimmten Bedingungen ein ORA-01406 (Spaltenwert abgeschnitten) auf.

Die zugrundeliegende Tabelle hat ein Textfeld das beispielsweise so definiert ist:

BEZEICHNUNG VARCHAR2(10 BYTE)

Darin ist zB folgender Wert gespeichert: "Hütte12345" - d.h. der String enthält einen Umlaut und ist voll aufgefüllt.

Gleich vorweg - der Fehler tritt mit folgenden Werten nicht auf:

"Hutte12345"

"Hütte1234"

Der Fehler trat in tabellenbasierten Blockattributen auf und konnte dort durch das explizite Setzen der Längensemantik behoben werden.

Allerdings gibt es da noch eine PLL-Funktion, wo der Fehler im Code auftritt - und hier ist die Sache nicht so einfach zu beheben:

FUNCTION get_fabr_row(iFabrNr varchar2)

RETURN is_fabrikate%rowtype

IS

     db_row is_fab%rowtype;   

BEGIN

  select * into db_row

  from is_fab

  where nr = iFabrNr;

  RETURN db_row;

END;

Hier tritt der Fehler unmittelbar beim Selektieren in die Recordvariable db_row auf!

Der Verdacht liegt natürlich nahe, dass es sich um ein NLS-Problem handelt.

Die Sache wird noch kompliziert dadurch, dass der Fehler am Entwicklungssystem nicht auftritt - allerdings am Testsystem schon. Und bei diesem habe ich leider keinen direkten Zugriff auf die Konfiguration - und habe auch keine Möglichkeit diese selbst zu kontrollieren. Bin da von einem Kollegen abhängig, der leider immer seltener verfügbar ist (ist schon in einem anderen Projekt und kann sich um das eigentlich gar nicht mehr kümmern etc. etc.)

Jetzt wäre es sehr hilfreich, hier von der Community Hinweise zu bekommen, in welche Richtung ich da schauen sollte. Wodurch kann dieses Verhalten ausgelöst werden?

Danke,

Stephan

Comments
Post Details
Added on Nov 12 2019
5 comments
1,059 views