Share via


Neues in JDBC Driver

In den folgenden Abschnitten werden die neuen Features von Microsoft SQL Server JDBC Driver erläutert.

Neuigkeiten in JDBC Driver, Version 3.0

Microsoft SQL Server JDBC Driver 3.0 enthält mehrere neue Features und Erweiterungen.

Treibername

Die neue Version des JDBC-Treibers ist Microsoft SQL Server JDBC Driver 3.0.

Unterstützung für Time- und Date-Datentypen wurde in SQL Server 2008 eingeführt

Microsoft SQL Server JDBC Driver 3.0 unterstützt jetzt folgende SQL Server-Datentypen:

  • time
  • date
  • datetime2
  • datetimeoffset

Weitere Informationen über diese SQL Server Typen finden Sie unter Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL).

Der DateTimeOffset-Klasse-Typ sowie Funktionen für den Zugriff auf Werte in einer datetimeoffset-Spalte wurden hinzugefügt:

Konfigurieren der Art und Weise, wie java.sql.Time-Werte an den Server gesendet werden

Die sendTimeAsDatetime-Verbindungseigenschaft wurde hinzugefügt. Vom sendTimeAsDatetime-Element wird festgelegt, wie ein java.sql.Time-Wert an den Server gesendet wird: als SQL Server time- oder datetime-Wert.

Weitere Informationen zur Verwendung der sendTimeAsDatetime-Verbindungseigenschaft finden Sie unter Festlegen von Verbindungseigenschaften.

Weitere Informationen zum Senden von java.sql.Time-Typen an den Server finden Sie unter Konfigurieren der Art und Weise, wie java.sql.Time-Werte an den Server gesendet werden.

Der Wert der sendTimeAsDatetime-Verbindungseigenschaft kann mit dem SQLServerDataSource.setSendTimeAsDatetime-Element geändert werden.

Volle Unterstützung für MERGE-Vorgänge

Von den folgenden Methoden wird jetzt die korrekte Anzahl von Spalten zurückgegeben, die für einen MERGE-Vorgang aktualisiert wurden:

Keine Unterstützung von getBytes-, setBytes- und updateBytes-Elementen für Date- und Time-Typen

In Microsoft SQL Server JDBC Driver 2.0 können Sie die SQLServerCallableStatement.getBytes-, SQLServerCallableStatement.setBytes-, SQLServerResultSet.getBytes- oder SQLServerResultSet.updateBytes-Elemente verwenden, um Werte zwischen Bytearrays und folgenden SQL Server-Datentypen zu konvertieren: date, time, datetime2 oder datetimeoffset. In SQL Server JDBC Driver 3.0 wird durch Verwendung dieser Methoden mit diesen Datentypen eine Ausnahme ausgelöst, die angibt, dass die Konvertierung nicht unterstützt wird.

Rückgabe eines Date- oder Time-Objekts vom getObject-Element

In Microsoft SQL Server JDBC Driver 2.0 wurde bei Verwendung von SQLServerCallableStatement.getObject oder SQLServerResultSet.getObject zum Abrufen eines Date-, Time-, Datetime2- oder Datetimeoffset-Werts ein java.lang.String-Objekt zurückgegeben.

In SQL Server JDBC Driver 3.0 geschieht Folgendes:

  • Ein Date-Wert wird als java.sql.Date-Objekt zurückgegeben.
  • Ein Time-Wert wird als java.sql.Time-Objekt zurückgegeben.
  • Ein Datetime2-Wert wird als java.sql.Timestamp-Objekt zurückgegeben.
  • Ein Datetimeoffset-Wert wird als microsoft.sql.DateTimeOffset-Objekt zurückgegeben.

Änderung des Spaltenverhaltens

SQLServerDatabaseMetaData.getColumns gibt für einige Spalten in SQL Server JDBC Driver 3.0 unterschiedliche Werte aus vorherigen Versionen des Treibers zurück. Weitere Informationen finden Sie unter SQLServerDatabaseMetaData.getColumns.

Das Verhalten folgender Methoden in SQLServerResultSetMetaData wurde ebenfalls geändert:

Schnittstellen

Die folgenden Schnittstellen wurden hinzugefügt:

Weitere Informationen finden Sie unter Wrapper und Schnittstellen.

Absicht der Markierung von Klassenkonstruktoren als veraltet

Mit der Veröffentlichung von SQL Server JDBC Driver 3.0, gibt Microsoft die Absicht bekannt, die Konstruktoren in mehreren Klassen ab einer späteren Version als veraltet zu markieren. Microsoft legt Entwicklern deshalb nahe, keine Instanzen dieser Typen direkt zu instanziieren.

Die Konstruktoren für diese Klassen sind in SQL Server JDBC Driver 3.0 nicht als veraltet markiert.

In SQL Server JDBC Driver 3.0 verfügen die folgenden Klassen über entsprechende Schnittstellen. Wenn Sie auf eine treiberspezifische Methode oder Konstante zugreifen müssen, verwenden Sie die Schnittstelle der Klasse:

Die Konstruktoren der folgenden Klassen werden ab einer späteren Version als veraltet markiert werden und verfügen nicht über entsprechende Schnittstellen, da diese Klassen keine speziellen SQL Server-Funktionen verfügbar machen:

SQLServerDataSource.getReference enthält das Kennwort oder das Password or trustStorePassword nicht mehr

Wenn SQLServerDataSource.setPassword vor JDBC Driver 3.0 auf einem SQLServerDataSource-Objekt abgerufen wurde, konnte das Kennwort in dem von SQLServerDataSource.getReference zurückgegebenen Objekt enthalten sein, wodurch mit dem Objekt zusätzliche Verbindungen hergestellt werden konnten. In JDBC Driver 3.0 muss das Kennwort für das von SQLServerDataSource.getReference zurückgegebene Objekt festgelegt werden, bevor Verbindungen mit dem Objekt hergestellt werden.

Wenn Sie SQLServerDataSource.setTrustStorePassword vor dem Binden der Datenquelleneigenschaften festlegen, muss SQLServerDataSource.setTrustStorePassword vor dem Herstellen der Verbindung aufgerufen werden. Weitere Informationen finden Sie unter SQLServerDataSource.getReference.

Unterstützung für Spalten mit geringer Dichte

In SQL Server JDBC Driver 3.0 werden bei der Herstellung einer Verbindung mit einem SQL Server 2008 (oder höher)-Server Spalten mit geringer Dichte unterstützt. Weitere Informationen finden Sie unter Spalten mit geringer Dichte.

Große benutzerdefinierte Typen (UDTs)

UDTs über 8 Kilobyte werden jetzt unterstützt. Weitere Informationen finden Sie unter Benutzerdefinierte Typen.

Siehe auch

Weitere Ressourcen

Übersicht über JDBC Driver