(0) exportieren Drucken
Alle erweitern

Internationale Funktionen des JDBC-Treibers

Microsoft JDBC-Treiber für SQL Server bietet folgende Internationalisierungsfunktionen:

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

  • Unterstützung für Java-Sprachumwandlungen für gebietsschemasensitive SQL Server-Daten

  • Betriebssystemunabhängige Unterstützung internationaler Sprachen

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-Datenströme. Dabei handelt es sich um Sonderfälle, da Bytedatenströme mit der impliziten Voraussetzung einer einzelnen bekannten Codepage (ASCII) verwendet werden.

Darüber hinaus umfasst der JDBC-Treiber die sendStringParametersAsUnicode-Verbindungszeichenfolgeeigenschaft. Mit dieser Eigenschaft kann angegeben werden, dass die vorbereiteten Parameter für Zeichendaten anstatt in Unicode in ASCII oder als Multibyte-Zeichensatz (MBCS) gesendet werden. Weitere Informationen über die sendStringParametersAsUnicode-Verbindungszeichenfolgeneigenschaft 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 Zeichendatenströme 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. Zum Beheben dieses Problems sollten Sie die vollständige Unterstützung für internationale Zeichensätze installieren, die für diese JVM erforderlich ist. Ein Beispiel finden Sie auf der Sun Microsystems-Website in der Dokumentation zu unterstützten Codierungen.

Konvertierung ausgehender Daten

Zeichendaten vom Treiber zum Server können als ASCII oder Unicode übertragen werden. Beispielsweise senden die neuen JDBC 4.0-Methoden für nationale Zeichensätze wie setNString, setNCharacterStream und setNClob der SQLServerPreparedStatement-Klasse und der SQLServerCallableStatement-Klasse ihre Parameterwerte immer im Unicode-Format an den Server.

Die API-Methoden für nicht nationale Zeichensätze wie setString, setCharacterStream und setClob der SQLServerPreparedStatement-Klasse und der SQLServerCallableStatement-Klasse senden ihre Parameterwerte hingegen nur dann im Unicode-Format an den Server, wenn die sendStringParametersAsUnicode-Eigenschaft auf "true" (der Standardwert) festgelegt ist.

Um bei Verwendung der Typen von Nicht-Unicode-Parametern CHAR, VARCHAR und LONGVARCHAR eine optimale Leistung zu erhalten, legen Sie die sendStringParametersAsUnicode-Verbindungszeichenfolgeneigenschaft auf "false" fest und verwenden die Methoden für nicht nationale Zeichensätze.

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.

JDBC Driver 3.0 unterstützt alle Sortierungen, die von SQL Server 2000, SQL Server 2005 und den in SQL Server 2008 eingeführten neuen Sortierungen bzw. neuen Versionen der Windows-Sortierungsnamen unterstützt werden.

Weitere Informationen zu Sortierungen finden Sie unter Sortierung und Unicode-Unterstützung und Name der Windows-Sortierreihenfolge (Transact-SQL) in der SQL Server-Onlinedokumentation.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Anzeigen:
© 2014 Microsoft