Metode unwrap (SQLServerCallableStatement)
Mengembalikan objek yang mengimplementasikan antarmuka yang ditentukan untuk memungkinkan akses ke Driver Microsoft JDBC untuk metode khusus SQL Server.
Sintaks
public <T> T unwrap(Class<T> iface)
Parameter
iface
Kelas jenis T yang mendefinisikan antarmuka.
Tampilkan Nilai
Objek yang mengimplementasikan antarmuka yang ditentukan.
Pengecualian
Keterangan
Metode unwrap didefinisikan oleh antarmuka java.sql.Wrapper, yang diperkenalkan dalam Spesifikasi JDBC 4.0.
Aplikasi mungkin perlu mengakses ekstensi ke JDBC API yang khusus untuk Microsoft JDBC Driver untuk SQL Server. Metode unwrap mendukung pembongkaran ke kelas publik yang diperluas objek ini, jika kelas mengekspos ekstensi vendor.
SQLServerCallableStatement mengimplementasikan ISQLServerPreparedStatement, yang diperluas dari ISQLServerStatement. Ketika metode ini dipanggil, objek membongkar ke kelas berikut: SQLServerStatement, SQLServerPreparedStatement, dan SQLServerCallableStatement.
Untuk informasi selengkapnya, lihat Pembungkus dan Antarmuka.
Contoh kode berikut menunjukkan cara menggunakan metode isWrapperFor dan unwrap untuk memeriksa ekstensi driver dan memanggil metode khusus vendor, seperti setResponseBuffering dan 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();
}
}
Lihat Juga
isWrapperFor Method (SQLServerCallableStatement)
Anggota SQLServerCallableStatement
Kelas SQLServerCallableStatement