Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vrátí objekt, který implementuje zadané rozhraní umožňující přístup k ovladači Microsoft JDBC pro metody specifické pro SQL Server.
Syntaxe
public <T> T unwrap(Class<T> iface)
Parametry
iface
Třída typu T definující rozhraní.
Návratová hodnota
Objekt, který implementuje zadané rozhraní.
Výjimky
Poznámky
Metoda unwrap je definována rozhraním java.sql.Wrapper, které je zavedeno v specifikace JDBC 4.0.
Aplikace můžou potřebovat přístup k rozšířením rozhraní JDBC API, které jsou specifické pro ovladač Microsoft JDBC pro SQL Server. Unwrap metoda podporuje rozbalení na veřejné třídy, které tento objekt rozšiřuje, pokud třídy zpřístupňují rozšíření dodavatele.
SQLServerCallableStatement implementuje ISQLServerPreparedStatement, který je rozšířen z ISQLServerStatement. Při volání této metody objekt rozbalí následující třídy: SQLServerStatement, SQLServerPreparedStatement a SQLServerCallableStatement.
Další informace naleznete v tématu Obálky a rozhraní.
Následující příklad kódu ukazuje, jak použít isWrapperFor a unwrap metody pro kontrolu rozšíření ovladače a vyvolat metody specifické pro dodavatele, jako je setResponseBuffering a 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();
}
}
Viz také
isWrapperFor – metoda (SQLServerCallableStatement)
SQLServerCallableStatement – členy
SQLServerCallableStatement – třída