Internationale Features des JDBC-Treibers

Die Internationalisierungsfeatures von Microsoft SQL Server 2005 JDBC Driver umfassen:

  • Unterstützung einer vollständigen Lokalisierung in den gleichen Sprachen wie SQL Server

  • Unterstützung für Sprachumwandlungen gemäß Java, Version 1.4, für gebietsschemasensitive SQL Server-Daten

  • Betriebssystemunabhängige Unterstützung internationaler Sprachen

Verarbeitung von Zeichendaten

Zeichendaten in Java werden standardmäßig als Unicode-Daten verarbeitet; das Java-Objekt String stellt Unicode-Zeichendaten dar. Die einzige Ausnahme dieser Regel im JDBC-Treiber bilden die Abruf- und Festlegungsmethoden für ASCII-Streams. Dabei handelt es sich um Sonderfälle, da Bytestreams mit der impliziten Voraussetzung einer einzelnen bekannten Codepage (ASCII) verwendet werden.

Darüber hinaus umfasst der JDBC-Treiber die Verbindungszeichenfolgeeigenschaft "sendStringParametersAsUnicode". Mit dieser Eigenschaft kann angegeben werden, dass die vorbereiteten Parameter für Zeichendaten anstatt in Unicode in ASCII gesendet werden.

Weitere Informationen zur Verbindungszeichenfolgeeigenschaft "sendStringParametersAsUnicode" finden Sie unter Festlegen von Verbindungseigenschaften.

Konvertierung eingehender Daten

Unicode-Textdaten vom Server brauchen nicht konvertiert zu werden. Sie werden direkt als Unicode-Daten übergeben. Nicht-Unicode-Daten vom Server werden von der Codepage für die Daten auf Datenbank- oder Spaltenebene in Unicode konvertiert. Der JDBC-Treiber verwendet die JVM-Konvertierungsroutinen (Java Virtual Machine) für diese Konvertierungen. Diese Konvertierungen werden in allen Abrufmethoden für typisierte Zeichenfolge- und Zeichenstreams ausgeführt.

Wenn die JVM nicht die richtige Codepage für die Daten aus der Datenbank unterstützt, löst der JDBC-Treiber die Ausnahme "Codepage XXX wird von der Java-Umgebung nicht unterstützt." aus.

Konvertierung ausgehender Daten

Zeichendaten vom Treiber zum Server werden zunächst als Unicode gesendet. An den Server werden Unicode-Daten übergeben. Dort werden die entsprechenden Konvertierungen ausgeführt, falls es sich bei der Zielspalte nicht um eine Spalte mit einem Unicode-Typ (nchar, nvarchar, ntext) handelt. In diesem Fall wird von den Festlegungs- und Aktualisierungsmethoden für Zeichenfolgen- und Zeichenstreams des JDBC-Treibers Unicode-Text übergeben.

Formatierungsprobleme

Bei Datums-, Uhrzeit- und Währungsangaben erfolgt die gesamte Formatierung mit lokalisierten Daten mit dem Locale-Objekt und den verschiedenen Formatierungsmethoden für Date-, Calendar- und Number-Datentypen auf Java-Ebene. In den seltenen Fällen, in denen der JDBC-Treiber gebietsschemasensitive Daten in einem lokalisierten Format übergeben muss, wird die entsprechende Formatierungsmethode mit dem JVM-Standardgebietsschema verwendet.

Nicht-Unicode-Parameter

Zur Verbesserung der Leistung können String-Parameter in anderer Form als Unicode an SQL Server übergeben werden, indem die sendStringParametersAsUnicode-Verbindungszeichenfolgeneigenschaft entsprechend festgelegt wird. Die Standardeinstellung für sendStringParametersAsUnicode ist "true" (die String-Parameter werden als Unicode gesendet). Wenn sendStringParametersAsUnicode auf "false" festgelegt wird, werden alle String-Parameter der betreffenden Verbindung in der Standardsortierung der Datenbank an den Server gesendet.

Siehe auch

Andere Ressourcen

Übersicht über den JDBC-Treiber