3.7.5 Gebietsschema, Datumsformat, Zeichensatz, Sortierfolge, ...
Nachfolgend einige kurze Erläuterungen zu den Themen Datumsformat, Gebietsschema, Zeichensatz, Sortierfolge etc.
Datumsformat und Gebietsschema
Während der Total-Replikation übergibt der Befehl bcp neben Daten auch Informationen über diese Daten an den SQL Server, z.B. das Datumsformat. Damit dieser Transfer reibungslos funktioniert, sollte das Gebietsschema auf Deutsch (Deutschland) eingestellt sein.
Während der Online-Replikation übergibt infra-Daten an den SQL Server, z.B. Datumsfelder. Damit dieser Transfer reibungslos funktioniert, muss (abhängig von der auf dem SQL Server installierten Standardsprache) das Datumsformat im DataDictionary über SIBDDGEN.EXE eingestellt sein.
Zeichensatz
Ein Zeichensatz (=Codepage) besteht aus einem Satz von 256 Groß- und Kleinbuchstaben sowie Symbolen. Die druckbaren Zeichen der ersten 128 Werte sind für alle Codepages gleich, die letzten 128 Zeichen (=erweiterter Zeichensatz) von Codepage zu Codepage verschieden.
Als Zeichensatz gibt es z.B. Codepage 850 (mehrsprachig). Dies ist eine sog. OEM-Codepage und damit ist Ihr Server ein sog. OEM-Server.
Die Standardeinstellung bei der Installation des SQL Servers ist die Codepage 1252, auch als ISO 8859-1 (Latein1 oder ANSI) oder kurz als ISO oder ANSI bekannt. Server mit der Standardeinstellung Codepage 12x werden als ANSI-Server bezeichnet, alle anderen als OEM-Server.
Bei den Betriebssystemen liegt der Fall etwas anders. Windows besitzt sowohl eine ANSI- und eine OEM-Codepage, die von den Ländereinstellungen abhängig ist. Bei der deutschsprachigen Version sind dies die ANSI-Codepage 1252 und die OEM-Codepage 850.
Für infra:NET wird die Einstellung des von der infra-Datenbank verwendeten Zeichensatzes in SIBPPS.INI - [GENERAL] - DbsFormat festgelegt. Der dort festgelegte Wert 'ASCII' bedeutet die Verwendung der OEM-Codepage für die infra-Datenbank und alle internen Operationen, 'ISO' die der ANSI-Codepage. Das DbsFormat sollte immer =ASCII sein, Sie dürfen diese Einstellung in der SIBPPS.INI nicht verändern (ist nur für infra-interne Zwecke ausgelegt).
SQL Clients gelten je nach Betriebssystem und verwendetem API als ANSI- oder OEM-Clients. So gelten alle Windows-basierten Clients (z.B. ISQL/w oder SQL Enterprise Manager) als ANSI-Clients, während konsolenbasierte Anwendungen (die also in einem Eingabeaufforderungsfenster ablaufen) wie z.B. die SQL Dienstprogramme ISQL und BCP als OEM-Clients. ODBC-Clients gelten ebenfalls als ANSI-Clients, da es sich bei ODBC um ein Windows-API handelt. Wo immer Sie bei der Konfiguration eines SQL-Clients die Möglichkeit haben (SQL Client-Konfigurationsprogramm für die DB-Library und Konfiguration einer ODBC-Datenquelle), sollten Sie die ANSI/OEM-Konvertierung einschalten.
Sortierreihenfolge
Da die infra-Datenbank mit einer binären Sortierung arbeitet, müssen Sie auch bei der Installation des SQL Servers die binäre Sortierreihenfolge wählen, da sonst Abfragen und Selektionen unterschiedliche Ergebnismengen und Reihenfolgen liefern, je nach Herkunftsort der Daten.
Die binäre Sortierfolge bietet die beste Performance, alle anderen Sortierfolgen bewirken laut Angabe von Microsoft (siehe SQL Server Online-Dokumentation: SQL Server-Architektur - ... - Sortierungen) Geschwindigkeitsverluste im Bereich von 20%-35%.
