Partage via


Wrappers et interfaces

Télécharger le pilote JDBC

Le Pilote Microsoft JDBC pour SQL Server prend en charge les interfaces qui permettent de créer un proxy d’une classe, ainsi que les wrappers qui permettent d’accéder à des extensions de l’API JDBC propres au Pilote Microsoft JDBC pour SQL Server par le biais d’une interface proxy.

Wrappers

Le Pilote Microsoft JDBC pour SQL Server prend en charge l’interface java.sql.Wrapper. Cette interface fournit un mécanisme d’accès aux extensions de l’API JDBC qui sont propres au Pilote Microsoft JDBC pour SQL Server par le biais d’une interface proxy.

L’interface java.sql.Wrapper définit deux méthodes : isWrapperFor et unwrap. La méthode isWrapperFor vérifie si l’objet d’entrée spécifié implémente cette interface. La méthode unwrap retourne un objet qui implémente cette interface afin d’autoriser l’accès aux méthodes propres au Pilote Microsoft JDBC pour SQL Server.

Les méthodes isWrapperFor et unwrap sont exposées de la façon suivante :

Interfaces

À compter de la version 3.0 de SQL Server JDBC Driver, des interfaces sont disponibles pour permettre à un serveur d’applications d’accéder à une méthode propre au pilote à partir de la classe associée. Le serveur d’applications peut encapsuler la classe en créant un proxy, exposant la fonctionnalité propre au Pilote Microsoft JDBC pour SQL Server à partir d’une interface. Le Pilote Microsoft JDBC pour SQL Server prend en charge les interfaces disposant des méthodes et constantes propres au Pilote Microsoft JDBC pour SQL Server, de sorte qu’un serveur d’applications puisse créer un proxy de la classe.

Les interfaces sont dérivées d’interfaces Java standard. Par conséquent, vous pouvez utiliser le même objet une fois qu’il est désencapsulé pour accéder à la fonctionnalité Pilote Microsoft JDBC pour SQL Server propre au pilote ou à la fonctionnalité générique.

Les interfaces suivantes ont été ajoutées :

Exemple

Description

L’exemple suivant montre comment accéder à une fonctionnalité propre au Pilote Microsoft JDBC pour SQL Server à partir d’un objet DataSource. Cette classe DataSource peut avoir été encapsulée par un serveur d’applications. Pour accéder à la fonctionnalité ou constante propre au pilote JDBC, vous pouvez désencapsuler la source de données dans une interface ISQLServerDataSource et utiliser les fonctionnalités déclarées dans cette interface.

Code

import javax.sql.*;
import java.sql.*;
import com.microsoft.sqlserver.jdbc.*;

public class UnWrapTest {
   public static void main(String[] args) {
      // This is a test.  This DataSource object could be something from an appserver
      // which has wrapped the real SQLServerDataSource with its own wrapper
      SQLServerDataSource ds = new SQLServerDataSource();
      checkSendStringParametersAsUnicode(ds);
   }

   // Unwrap to the ISQLServerDataSource interface to access the getSendStringParametersAsUnicode function
   static void checkSendStringParametersAsUnicode(DataSource ds) {
      try {
         final ISQLServerDataSource sqlServerDataSource = ds.unwrap(ISQLServerDataSource.class);
         boolean sendStringParametersAsUnicode = sqlServerDataSource.getSendStringParametersAsUnicode();

         System.out.println("Send string as parameter value is:-" + sendStringParametersAsUnicode);

      } catch (SQLException sqlE) {
         System.out.println("Exception:-" + sqlE);
      }
   }
}

Voir aussi

Présentation des types de données du pilote JDBC