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

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

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

Оболочки

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

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

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

Интерфейсы

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

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

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

Пример

Описание

В образце показано, как получить доступ к функции, определяемой драйвером 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