Metode unwrap (SQLServerCallableStatement)

Unduh driver JDBC

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

SQLServerException

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 membuka bungkus 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

Metode isWrapperFor (SQLServerCallableStatement)
Anggota SQLServerCallableStatement
Kelas SQLServerCallableStatement