Internationale Funktionen des JDBC-TreibersInternational Features of the JDBC Driver

HerunterladenJDBC-Treiber herunterladenDownloadDownload JDBC Driver

Die Internationalisierungsfunktionen der Microsoft JDBC-Treiber für SQL ServerMicrosoft JDBC Driver for SQL Server umfassen Folgendes:The internationalization features of the Microsoft JDBC-Treiber für SQL ServerMicrosoft JDBC Driver for SQL Server include the following:

  • Unterstützung einer vollständigen Lokalisierung in den gleichen Sprachen wie SQL ServerSQL ServerSupport for a fully localized experience in the same languages as SQL ServerSQL Server

  • Unterstützung für Java-sprachumwandlungen für gebietsschemasensitive SQL ServerSQL Server DatenSupport for the Java language conversions for locale sensitive SQL ServerSQL Server data

  • Unterstützung internationaler Sprachen, unabhängig vom BetriebssystemSupport for international languages, regardless of operating system

  • Unterstützung für internationale Domänennamen (beginnend mit Microsoft JDBC-Treiber 6.0 für SQL Server)Support for international domain names (starting with Microsoft JDBC Driver 6.0 for SQL Server)

Verarbeitung von ZeichendatenHandling of Character Data

Zeichendaten in Java werden standardmäßig als Unicode behandelt; die Java Zeichenfolge Objekt stellt Unicode-Zeichendaten dar.Character data in Java is handled as Unicode by default; the Java String object represents Unicode character data. 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.In the JDBC driver, the only exception to this rule is the ASCII stream getter and setter methods, which are special cases because they use byte streams with the implicit assumption of single well-known code pages (ASCII).

Darüber hinaus bietet der JDBC-Treiber die SendStringParametersAsUnicode Verbindungszeichenfolgen-Eigenschaft.In addition, the JDBC driver provides the sendStringParametersAsUnicode connection string property. 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.This property can be used to specify that prepared parameters for character data are sent as ASCII or Multi-byte Character Set (MBCS) instead of Unicode. Weitere Informationen zu den SendStringParametersAsUnicode Verbindungszeichenfolgen-Eigenschaft finden Sie unter Festlegen der Verbindungseigenschaften.For more information about the sendStringParametersAsUnicode connection string property, see Setting the Connection Properties.

Konvertierung eingehender DatenDriver Incoming Conversions

Unicode-Textdaten vom Server brauchen nicht konvertiert zu werden.Unicode text data coming from the server does not have to be converted. Sie werden direkt als Unicode-Daten übergeben.It is passed directly as Unicode. Nicht-Unicode-Daten vom Server werden von der Codepage für die Daten auf Datenbank- oder Spaltenebene in Unicode konvertiert.Non-Unicode data coming from the server is converted from the code page for the data, at the database or column level, to Unicode. Der JDBC-Treiber verwendet die JVM-Konvertierungsroutinen (Java Virtual Machine) für diese Konvertierungen.The JDBC driver uses the Java Virtual Machine (JVM) conversion routines to perform these conversions. Diese Konvertierungen werden in allen Abrufmethoden für typisierte Zeichenfolge- und Zeichendatenströme ausgeführt.These conversions are performed on all typed String and Character stream getter methods.

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.If the JVM does not have the proper code page support for the data from the database, the JDBC driver throws a "XXX codepage not supported by the Java environment" exception. Zum Beheben dieses Problems sollten Sie die vollständige Unterstützung für internationale Zeichensätze installieren, die für diese JVM erforderlich ist.To solve this problem, you should install the full international character support required for that JVM. Ein Beispiel finden Sie auf der Sun Microsystems-Website in der Dokumentation zu unterstützten Codierungen.For an example, see the Supported Encodings documentation on Sun Microsystems Web site.

Konvertierung ausgehender DatenDriver Outgoing Conversions

Zeichendaten vom Treiber zum Server können als ASCII oder Unicode übertragen werden.Character data going from the driver to the server can be ASCII or Unicode. Angenommen, die neuen JDBC 4.0 Methoden für nationale Zeichensätze, z. B. SetNString, SetNCharacterStream und SetNClob-Methode der SQLServerPreparedStatement und SQLServerCallableStatement Klassen Senden Sie ihre Parameterwerte immer mit dem Server im Unicode-Format.For example, the new JDBC 4.0 national character methods, such as setNString, setNCharacterStream, and setNClob methods of SQLServerPreparedStatement and SQLServerCallableStatement classes, always send their parameter values to the server in Unicode.

Andererseits, die nicht nationale Zeichensätze API-Methoden, z. B. SetString, SetCharacterStream und SetClob-Methode der SQLServerPreparedStatement und SQLServerCallableStatement Klassen Senden Sie ihre Werte an den Server im Unicode-Format nur, wenn die SendStringParametersAsUnicode Eigenschaft auf "True", d. h. den Standardwert festgelegt ist.On the other hand, the non-national character API methods, such as setString, setCharacterStream, and setClob methods of SQLServerPreparedStatement and SQLServerCallableStatement classes send their values to the server in Unicode only when the sendStringParametersAsUnicode property is set to "true", which is the default value.

Nicht-Unicode-ParameterNon-Unicode Parameters

Für eine optimale Leistung mit CHAR, VARCHAR oder LONGVARCHAR geben, der nicht-Unicode-Parameter, legen Sie die SendStringParametersAsUnicode Connection string-Eigenschaft auf "False" und die Methoden für nicht nationale Zeichensätze verwenden.For optimal performance with CHAR, VARCHAR or LONGVARCHAR type of non-Unicode parameters, set the sendStringParametersAsUnicode connection string property to "false" and use the non-national character methods.

FormatierungsproblemeFormatting Issues

Für Datum, Uhrzeit und Währungsangaben erfolgt die gesamte Formatierung mit lokalisierten Daten auf Java-Ebene mithilfe der Locale-Objekt; und den verschiedenen Formatierungsmethoden für Datum, Kalender, und Anzahl -Datentypen.For date, time, and currencies, all formatting with localized data is performed at the Java language level using the Locale object; and the various formatting methods for Date, Calendar, and Number data types. 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.In the rare case where the JDBC driver must pass along locale sensitive data in a localized format, the proper formatter is used with the default JVM locale.

Unterstützung für SortierungenCollation Support

JDBC Driver 3.0 unterstützt alle Sortierungen, die von SQL Server 2000SQL Server 2000, SQL Server 2005SQL Server 2005, und die neuen Sortierungen bzw. neuen Versionen der Windows-Sortierungsnamen, in eingeführt SQL Server 2008SQL Server 2008.The JDBC Driver 3.0 supports all the collations supported by SQL Server 2000SQL Server 2000, SQL Server 2005SQL Server 2005, and the new collations or new versions of Windows collation names introduced in SQL Server 2008SQL Server 2008.

Weitere Informationen zu Sortierungen finden Sie unter Collation and Unicode Support und Windows-Sortierungsname (Transact-SQL) in SQL ServerSQL Server Books Online.For more information on the collations, see Collation and Unicode Support and Windows Collation Name (Transact-SQL) in SQL ServerSQL Server Books Online.

Verwendung internationaler Domänennamen (IDN)Using International Domain Names (IDN)

Der JDBC Driver 6.0 für SQL Server unterstützt die Verwendung von Internationalized Domain Names (IDNs) und einen Unicode-ServerName in ASCII-kompatible Codierung (Punycode) während einer Verbindung im Bedarfsfall konvertieren kann.The JDBC Driver 6.0 for SQL Server supports the use of Internationalized Domain Names (IDNs) and can convert a Unicode serverName to ASCII compatible encoding (Punycode) when required during a connection. Wenn die IDNs im Domain Name System (DNS) als ASCII-Zeichenfolgen im Punycode-Format (angegeben durch RFC 3490) gespeichert sind, aktivieren Sie die Konvertierung der Unicode-ServerName, indem Sie die ServerNameAsACE-Eigenschaft auf „true“ setzen.If the IDNs are stored in the Domain Name System (DNS) as ASCII strings in the Punycode format (specified by RFC 3490), enable the conversion of the Unicode server name by setting the serverNameAsACE property to true. Wenn der DNS-Dienst für die Verwendung von Unicode-Zeichen konfiguriert ist, setzen Sie die ServerNameAsACE-Eigenschaft auf „false“ (Standard).Otherwise, if the DNS service is configured to allow the use of Unicode characters, set the serverNameAsACE property as false (the default). Für frühere Versionen des JDBC-Treibers ist es auch möglich, der ServerName in Punycode umwandeln Java's IDN.toASCII Methoden vor dem Festlegen dieser Eigenschaft für eine Verbindung.For older versions of the JDBC driver, it is also possible to convert the serverName to Punycode using Java’s IDN.toASCII methods before setting that property for a connection.

Hinweis

Der Großteil der für Windows-Plattformen geschriebenen Konfliktlösersoftware basiert auf den Internet-DSN-Standards und verwendet aus diesem Grund mit hoher Wahrscheinlichkeit das Punycode-Format für IDN. Ein Windows-basierter DNS-Server in einem privaten Netzwerk kann hingegen so konfiguriert werden, dass die Verwendung von UTF-8-Zeichen auf Serverbasis möglich ist.Most resolver software written for non-Windows platforms is based on the Internet DSN standards and is therefore most likely to use the Punycode format for IDNs, while a Windows-based DNS Server on a private network can be configured to allow the use of UTF-8 characters on a per-server basis. Weitere Informationen finden Sie unter Unterstützung für Unicode-Zeichen.For more details, see Unicode character support.

Siehe auchSee Also

Übersicht über die JDBC-TreiberOverview of the JDBC Driver