Оболочки и интерфейсы

Скачать драйвер JDBC

Драйвер Microsoft JDBC для SQL Server поддерживает интерфейсы, которые позволяют создавать прокси-сервер класса и оболочки, которые позволяют получать доступ к расширениям API JDBC, которые относятся к драйверу Microsoft JDBC для SQL Server через прокси-интерфейс.

Оболочки

Драйвер Microsoft JDBC для SQL Server поддерживает интерфейс java.sql.Wrapper. Этот интерфейс предоставляет механизм доступа к расширениям API JDBC, которые относятся к драйверу Microsoft JDBC для SQL Server через прокси-интерфейс.

Интерфейс Java. SQL. оберток определяет два метода: isWrapperFor и Unwrap. Метод isWrapperFor проверяет, реализует ли указанный объект ввода данный интерфейс. Метод unwrap возвращает объект, реализующий этот интерфейс, чтобы разрешить доступ к драйверам Microsoft JDBC для SQL Server.

Методы isWrapperFor и unwrap предоставляются следующим образом:

Интерфейсы

Начиная с SQL Server JDBC Driver 3.0, интерфейсы доступны для сервера приложений для доступа к методу для конкретного драйвера из связанного класса. Сервер приложений может упаковать класс, создав прокси-сервер, предоставляя функциональность драйвера Microsoft JDBC для SQL Server из интерфейса. Драйвер Microsoft JDBC для SQL Server поддерживает интерфейсы, имеющие драйвер Microsoft JDBC для конкретных методов и констант SQL Server, чтобы сервер приложений смог создать прокси-сервер класса.

Интерфейсы наследуются от стандартных интерфейсов Java, поэтому вы можете использовать тот же объект после распакованного для доступа к функциям драйвера или универсальному драйверу Microsoft JDBC driver for SQL Server.

Добавлены следующие интерфейсы:

Пример

Description

В этом примере показано, как получить доступ к функции Microsoft JDBC Driver для SQL Server из объекта DataSource. Класс DataSource может быть помещен в оболочку сервером приложений. Для доступа к функции или константе, определяемой драйвером JDBC, можно снять оболочку с datasource для интерфейса ISQLServerDataSource и использовать функции, объявленные в данном интерфейсе.

Код

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);
      }
   }
}

См. также

Основные сведения о типах данных JDBC Driver