Оболочки и интерфейсы
Драйвер 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 предоставляются следующим образом:
- Метод isWrapperFor (SQLServerCallableStatement)
- Метод unwrap (SQLServerCallableStatement)
- Метод isWrapperFor (SQLServerConnectionPoolDataSource)
- Метод unwrap (SQLServerConnectionPoolDataSource)
- Метод isWrapperFor (SQLServerDataSource)
- Метод unwrap (SQLServerDataSource)
- Метод isWrapperFor (SQLServerPreparedStatement)
- Метод unwrap (SQLServerPreparedStatement)
- Метод isWrapperFor (SQLServerStatement)
- Метод unwrap (SQLServerStatement)
- Метод isWrapperFor (SQLServerXADataSource)
- Метод unwrap (SQLServerXADataSource)
Интерфейсы
Начиная с 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.
Добавлены следующие интерфейсы:
- ISQLServerCallableStatement
- ISQLServerConnection
- ISQLServerDataSource
- ISQLServerPreparedStatement
- ISQLServerResultSet
- ISQLServerStatement
Пример
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);
}
}
}