Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
JDBC-stuurprogramma downloaden
Het Microsoft JDBC-stuurprogramma voor SQL Server ondersteunt interfaces waarmee u een proxy van een klasse kunt maken en wrappers waarmee u via een proxyinterface toegang hebt tot extensies voor de JDBC-API die specifiek zijn voor het Microsoft JDBC-stuurprogramma voor SQL Server.
Wrappers
Het Microsoft JDBC-stuurprogramma voor SQL Server ondersteunt de interface java.sql.Wrapper. Deze interface biedt een mechanisme voor toegang tot extensies voor de JDBC-API die specifiek zijn voor het Microsoft JDBC-stuurprogramma voor SQL Server via een proxyinterface.
De interface java.sql.Wrapper definieert twee methoden: isWrapperFor en unwrap. De methode isWrapperFor controleert of het opgegeven invoerobject deze interface implementeert. De methode uitpakken retourneert een object dat deze interface implementeert om toegang te verlenen tot het Microsoft JDBC-stuurprogramma voor specifieke SQL Server-methoden.
isWrapperFor - en unwrap-methoden worden als volgt weergegeven:
- isWrapperFor Method (SQLServerCallableStatement)
- Methode uitpakken (SQLServerCallableStatement)
- isWrapperFor Method (SQLServerConnectionPoolDataSource)
- Methode uitpakken (SQLServerConnectionPoolDataSource)
- isWrapperFor Methode (SQLServerDataSource)
- Methode uitpakken (SQLServerDataSource)
- isWrapperFor Method (SQLServerPreparedStatement)
- Methode uitpakken (SQLServerPreparedStatement)
- isWrapperFor Method (SQLServerStatement)
- Methode uitpakken (SQLServerStatement)
- isWrapperFor Method (SQLServerXADataSource)
- unwrap-methode (SQLServerXADataSource)
Koppelvlakken
Vanaf SQL Server JDBC-stuurprogramma 3.0 zijn interfaces beschikbaar voor een toepassingsserver voor toegang tot een stuurprogrammaspecifieke methode uit de bijbehorende klasse. De toepassingsserver kan de klasse verpakken door een proxy te maken en het Microsoft JDBC-stuurprogramma voor SQL Server-specifieke functionaliteit beschikbaar te maken vanuit een interface. Het Microsoft JDBC-stuurprogramma voor SQL Server ondersteunt interfaces met het Microsoft JDBC-stuurprogramma voor specifieke methoden en constanten voor SQL Server, zodat een toepassingsserver een proxy van de klasse kan maken.
De interfaces zijn afgeleid van standaard Java-interfaces, zodat u hetzelfde object kunt gebruiken zodra het is uitgepakt voor toegang tot stuurprogrammaspecifieke functionaliteit of algemeen Microsoft JDBC-stuurprogramma voor SQL Server-functionaliteit.
De volgende interfaces worden toegevoegd:
- ISQLServerCallableStatement
- ISQLServerConnection
- ISQLServerDataSource
- ISQLServerPreparedStatement
- ISQLServerResultSet
- ISQLServerStatement
Example
Description
In dit voorbeeld ziet u hoe u vanuit een DataSource-object toegang hebt tot een Microsoft JDBC-stuurprogramma voor sql Server-specifieke functies. Deze DataSource-klasse is mogelijk verpakt door een toepassingsserver. Als u toegang wilt krijgen tot de JDBC-stuurprogrammaspecifieke functie of constante, kunt u de gegevensbron uitpakken naar een ISQLServerDataSource-interface en de functies gebruiken die in deze interface zijn gedeclareerd.
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);
}
}
}
Zie ook
Informatie over de gegevenstypen van het JDBC-stuurprogramma