Unicode und Zusatzfelder - wichtige Infos fehlen in den Release-Notes zu 6.5

  • Mit Vertec 6.5 erfolgte die Umstellung der Encodierung der Texte in Vertec von ANSI nach Unicode - siehe Release-Notes zu 6.5, Kapitel 11.1. Nun ist uns heute aufgefallen, dass zur Unicode Unterstützung bei Zusatzfeldern eine wichtige Info fehlt. Wir werden die Release-Notes sowie die KB baldmöglichst updaten, hier schon vorab das Wichtigste.


    Zusatzfeldfelder welche Text aufnehmen können sind sehr beliebt. In Vertec 6.4 gibt es 2 Varianten, nämlich Zeichen und Text:



    Zeichen ist dabei ein Feld das auf maximal 255 Zeichen beschränkt ist, während Text unbeschränkt ist. Die Zusatzfelder vom Typ Zeichen werden mit 6.5 automatisch auf Unicode umgestellt, bei den Feldern vom Typ Text sieht es anders aus.


    Die Text-Felder werden in der Datenbank als BLOB-Felder abgespeichert ("Binary Large OBject"). D.h. die Daten werden als reine Binärdaten abgespeichert in der Datenbank, und erst in der Vertec Businesslogik als Texte interpretiert. Dummerweise sind die Zusatzfelder vom Typ Bild im gleichen Datenbankfeld gespeichert, so dass es uns zu riskant war, da eine Änderung vorzunehmen aus Gründen der Abwärtskompatibilität. Die Zusatzfelder vom Typ Text sind darum auch in 6.5 unverändert 8-Byte Texte im ANSI Format.


    Es gibt aber in 6.5 einen neuen Zusatzfeld-Typ, nämlich den Unicode Text:



    Der DB Konvert auf 6.5 kopiert nun die Texte aus dem Feld Text automatisch auch im richtigen Format in das Unicode Text Feld. Möchte man also den Datentyp umstellen auf Unicode, so kann das unmittelbar nach dem Konvert geschehen in dem man einfach den Feldtyp hier umstellt. Aber Achtung: Alle Zugriffe auf das Zusatzfeld (OCL, SQL) müssen ebenfalls umgestellt werden, bei SQL von WERTBLOB auf WERTTEXT und in OCL von zusatzfeldblob('zusatzfeldname') auf zusatzfeld('zusatzfeldname').