Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
JDBC-illesztőprogram letöltése
Egy objektumot ad vissza, amely implementálja a megadott felületet, hogy hozzáférést biztosítson a Microsoft JDBC-illesztőhöz az SQL Server-specifikus metódusokhoz.
Szemantika
public <T> T unwrap(Class<T> iface)
Paraméterek
iface
Egy interfészt meghatározó T típusú osztály.
Visszaadott érték
Egy objektum, amely implementálja a megadott felületet.
Kivételek
Megjegyzések
A unwrap metódust a java.sql.Burkoló felület határozza meg, amely a JDBC 4.0 Specifikációban van bevezetve.
Előfordulhat, hogy az alkalmazásoknak hozzá kell férnie a JDBC API azon bővítményeihez, amelyek az SQL ServerHez készült Microsoft JDBC-illesztőprogramra vonatkoznak. A unwrap metódus támogatja az objektum által kiterjesztett nyilvános osztályokra való visszavágást, ha az osztályok szállítói bővítményeket fednek fel.
Az SQLServerCallableStatement implementálja az ISQLServerPreparedStatement parancsot, amelyet az ISQLServerStatement bővít. A metódus meghívásakor az objektum a következő osztályokba kerül: SQLServerStatement, SQLServerPreparedStatement és SQLServerCallableStatement.
További információ: Burkolók és felületek.
Az alábbi kódpéldából megtudhatja, hogyan használhatja az isWrapperFor és a unwrap metódusokat az illesztőprogram-bővítmények ellenőrzéséhez, és hogyan hívhatja meg a szállítóspecifikus metódusokat, például a setResponseBuffering és a getResponseBuffering metódust.
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();
}
}
Lásd még:
isWrapperFor metódus (SQLServerCallableStatement)
SQLServerCallableStatement tagok
SQLServerCallableStatement osztály