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
Retourneert een object dat de opgegeven interface implementeert om toegang te verlenen tot het Microsoft JDBC-stuurprogramma voor SQL Server-specifieke methoden.
Syntaxis
public <T> T unwrap(Class<T> iface)
Parameterwaarden
iface
Een klasse van het type T die een interface definieert.
Retourwaarde
Een object dat de opgegeven interface implementeert.
Uitzonderingen
Opmerkingen
De methode uitpakken wordt gedefinieerd door de interface java.sql.Wrapper, die wordt geïntroduceerd in de JDBC 4.0-specificatie.
Toepassingen moeten mogelijk toegang krijgen tot extensies voor de JDBC-API die specifiek zijn voor het Microsoft JDBC-stuurprogramma voor SQL Server. De methode uitpakken ondersteunt uitpakken van openbare klassen die door dit object worden uitgebreid, als de klassen leverancierextensies beschikbaar maken.
SQLServerCallableStatement implementeert ISQLServerPreparedStatement, dat wordt uitgebreid vanaf de ISQLServerStatement. Wanneer deze methode wordt aangeroepen, wordt het object uitgepakt naar de volgende klassen: SQLServerStatement, SQLServerPreparedStatement en SQLServerCallableStatement.
Zie Wrappers en interfaces voor meer informatie.
In het volgende codevoorbeeld ziet u hoe u de isWrapperFor- en unwrap-methoden gebruikt om de stuurprogramma-extensies te controleren en de leverancierspecifieke methoden aan te roepen, zoals setResponseBuffering en getResponseBuffering.
public static void executeStoredProcedure(Connection con) {
try {
CallableStatement cstmt =
con.prepareCall("{call dbo.stored_proc_name(?, ?)}");
// The recommended way to access the JDBC
// Driver-specific methods is to use the JDBC 4.0 Wrapper
// functionality.
// The following code statements demonstrates how to use the
// isWrapperFor and unwrap methods
// to access the driver-specific response buffering methods.
if (cstmt.isWrapperFor(
com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.class)) {
// The CallableStatement object can unwrap to
// SQLServerCallableStatement.
SQLServerCallableStatement SQLcstmt =
cstmt.unwrap(
com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.class);
SQLcstmt.setResponseBuffering("adaptive");
System.out.println("Response buffering mode has been set to " +
SQLcstmt.getResponseBuffering());
}
if (cstmt.isWrapperFor(
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.class)) {
// The CallableStatement object can unwrap to
// SQLServerPreparedStatement.
SQLServerPreparedStatement SQLpstmt =
cstmt.unwrap(
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.class);
SQLpstmt.setResponseBuffering("adaptive");
System.out.println("Response buffering mode has been set to " +
SQLpstmt.getResponseBuffering());
}
if (cstmt.isWrapperFor(
com.microsoft.sqlserver.jdbc.SQLServerStatement.class)) {
// The CallableStatement object can unwrap to SQLServerStatement.
SQLServerStatement SQLstmt =
cstmt.unwrap(
com.microsoft.sqlserver.jdbc.SQLServerStatement.class);
SQLstmt.setResponseBuffering("adaptive");
System.out.println("Response buffering mode has been set to " +
SQLstmt.getResponseBuffering());
}
}
catch (Exception e) {
e.printStackTrace();
}
}
Zie ook
isWrapperFor Method (SQLServerCallableStatement)
LEDEN VAN SQLServerCallableStatement
Klasse SQLServerCallableStatement