Bei der Übertragung der Daten vom SESAM-DBAccess-Server an den Client-Rechner konvertiert DBAccess diese Daten von EBCDIC.DF4.04 nach ISO8859-1 (8 Bit ASCII) und umgekehrt.
Sollte jedoch aufgrund nationaler Zeichensätze oder sonstiger Eigenheiten der Daten eine andere Konvertierung benötigt werden, so bietet DBAccess die Möglichkeit, in der Konvertierungstabelle SYSDAT.SESDBA.091.EBCASC
für jedes EBCDIC-Zeichen die gewünschte ASCII-Konvertierung individuell festzulegen. Geändert werden darf die Notation jedoch nur für Sonderzeichen.
Standardmäßig hat diese Datei den folgenden Inhalt:
# Converting EBCDIC.DF.04 to ISO8859-1 (ASCII 8 bit) # This conversion table differs from standard conversion in following items: # - EBCDIC 0x15 Newline -> ASCII 0x0a Newline instead of 0x1a # - EBCDIC 0x25 -> ASCII 0x85 instead of 0x0a # - The conversion is extended to a bijective conversion # EBCDIC->ASCII # -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -a -b -c -d -e -f 0- 00 01 02 03 9c 09 86 7f 97 8d 8e 0b 0c 0d 0e 0f 0 01- 10 11 12 13 9d 0a 08 87 18 19 92 8f 1c 1d 1e 1f 1 12- 80 81 82 83 84 85 17 1b 88 89 8a 8b 8c 05 06 07 2 23- 90 91 16 93 94 95 96 04 98 99 9a 9b 14 15 9e 1a 3 34- 20 a0 e2 e4 e0 e1 e3 e5 e7 f1 60 2e 3c 28 2b 7c 4 45- 26 e9 ea eb e8 ed ee ef ec df 21 24 2a 29 3b 9f 5 56- 2d 2f c2 c4 c0 c1 c3 c5 c7 d1 5e 2c 25 5f 3e 3f 6 67- f8 c9 ca cb c8 cd ce cf cc a8 3a 23 40 27 3d 22 7 78- d8 61 62 63 64 65 66 67 68 69 ab bb f0 fd de b1 8 89- b0 6a 6b 6c 6d 6e 6f 70 71 72 aa ba e6 b8 c6 a4 9 9a- b5 af 73 74 75 76 77 78 79 7a a1 bf d0 dd fe ae a ab- a2 a3 a5 b7 a9 a7 b6 bc bd be ac 5b 5c 5d b4 d7 b bc- f9 41 42 43 44 45 46 47 48 49 ad f4 f6 f2 f3 f5 c cd- a6 4a 4b 4c 4d 4e 4f 50 51 52 b9 fb fc db fa ff d de- d9 f7 53 54 55 56 57 58 59 5a b2 d4 d6 d2 d3 d5 e ef- 30 31 32 33 34 35 36 37 38 39 b3 7b dc 7d da 7e f# # -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -a -b -c -d -e -f #
Zu jedem EBCDIC-Zeichen, das durch die Randbeschriftung gekennzeichnet wird, ist im Tabellenkörper die entsprechende ASCII-Darstellung angegeben. Die Konvertierung in der umgekehrten Richtung (z.B. SQL Anweisungen und Eingabeparameter) erfolgt von DBAccess automatisch durch Invertierung dieser Tabelle.
Hinweise
Kommentarzeilen sind in der Datei mit # an der 1. Stelle gekennzeichnet.
Die Konvertierungstabelle EBCDIC-ASCII besagt, dass z.B. EBCDIC 0xF0 nach ASCII 0x30 konvertiert wird.
Die Abbildung ist bijektiv, d.h. jedem Hexadezimalwert im EBCDIC wird eindeutig ein Hexadezimalwert im ASCII zugeordnet und umgekehrt.
Bei einer Änderung muss darauf geachtet werden, dass eine bijektive Abbildung entsteht und keine Zeichen, die in SQL-Schlüsselwörtern vorkommen, geändert werden.
Die Kennwörter werden verschlüsselt gespeichert und auch verschlüsselt vom Client übertragen. Dadurch wirkt sich die ASCII-EBCDIC-Konvertierung auf die Kennwörter aus. Wenn Kennwörter Sonderzeichen enthalten und die Konvertierungstabelle geändert wird, müssen dementsprechend diese Kennwörter neu eingegeben und verschlüsselt werden.
Erzeugen einer neuen Konvertierungstabelle
Wenn in der Initialisierungsdatei für die Konvertierungstabelle des Servers der StandardDateiname durch *SESAM
ersetzt wird, dann wird über XHCS der CCSN zur Konvertierung benutzt, der als CCSN in der SESAM-Konfigurationsdatei eingetragen ist.
Das Administrationskommando WRITE_NEW_CONVTABLE <dateiname> ermöglicht das Speichern dieser neuen Konvertierungstabelle, die dann bei Bedarf als neue Konvertierungstabelle des Servers benutzt werden kann.
Eine Kennwortdatei ist nur mit der Konvertierungstabelle nutzbar, mit der sie erzeugt wurde, siehe "Die Erfassungsprozedur SYSPRC.SESDBA.090.USER". Daher sollte die neue Konvertierungstabelle zum Erzeugen einer neuen Kennwortdatei benutzt werden.