Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sterownik JDBC firmy Microsoft dla serwera SQL Server obsługuje interfejsy, które pozwalają na tworzenie proxies klas, oraz pochwyty, które pozwalają na dostęp do rozszerzeń interfejsu API JDBC specyficznych dla sterownika JDBC firmy Microsoft dla serwera SQL Server za pośrednictwem interfejsu proxy.
Wrappers
Sterownik JDBC firmy Microsoft dla programu SQL Server obsługuje interfejs java.sql.Wrapper. Ten interfejs udostępnia mechanizm uzyskiwania dostępu do rozszerzeń interfejsu API JDBC specyficznych dla sterownika JDBC firmy Microsoft dla programu SQL Server za pośrednictwem interfejsu serwera proxy.
Interfejs java.sql.Wrapper definiuje dwie metody: isWrapperFor i unwrap. Metoda isWrapperFor sprawdza, czy określony obiekt wejściowy implementuje ten interfejs. Metoda unwrap zwraca obiekt, który implementuje ten interfejs, aby umożliwić dostęp do sterownika JDBC firmy Microsoft dla metod specyficznych dla programu SQL Server.
isWrapperFor i rozpakuj są uwidocznione w następujący sposób:
- Metoda isWrapperFor (SQLServerCallableStatement)
- Metoda unwrap (SQLServerCallableStatement)
- isWrapperFor, metoda (SQLServerConnectionPoolDataSource)
- Unwrap Metoda (SQLServerConnectionPoolDataSource)
- metoda isWrapperFor (SQLServerDataSource)
- Metoda unwrap (SQLServerDataSource)
- Metoda isWrapperFor (SQLServerPreparedStatement)
- Metoda unwrap (SQLServerPreparedStatement)
- isWrapperFor, metoda (SQLServerStatement)
- metoda unwrap (SQLServerStatement)
- Metoda isWrapperFor (SQLServerXADataSource)
- Metoda unwrap (SQLServerXADataSource)
Interfaces
Począwszy od sterownika JDBC programu SQL Server 3.0, interfejsy są dostępne dla serwera aplikacji w celu uzyskania dostępu do metody specyficznej dla sterownika ze skojarzonej klasy. Serwer aplikacji może opakowować klasę, tworząc serwer proxy, ujawniając sterownik JDBC firmy Microsoft dla funkcji specyficznych dla programu SQL Server z poziomu interfejsu. Sterownik JDBC firmy Microsoft dla SQL Server obsługuje interfejsy zawierające specyficzne dla tego sterownika metody i stałe, co pozwala serwerowi aplikacji utworzyć proxy danej klasy.
Interfejsy pochodzą ze standardowych interfejsów Java, dzięki czemu można użyć tego samego obiektu po rozpakowaniu do uzyskania dostępu do funkcjonalności specyficznych dla sterownika lub standardowego sterownika JDBC firmy Microsoft dla SQL Server.
Dodawane są następujące interfejsy:
- ISQLServerCallableStatement
- ISQLServerConnection
- ISQLServerDataSource
- ISQLServerPreparedStatement
- ISQLServerResultSet
- ISQLServerStatement
Example
Description
W tym przykładzie pokazano, jak uzyskać dostęp do sterownika JDBC firmy Microsoft dla funkcji specyficznej dla programu SQL Server z obiektu DataSource. Ta klasa DataSource mogła zostać opakowana przez serwer aplikacji. Aby uzyskać dostęp do funkcji specyficznej dla sterownika JDBC lub stałej, możesz odpakować źródło danych do interfejsu ISQLServerDataSource i użyć funkcji zadeklarowanych w tym interfejsie.
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);
}
}
}