Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Returnerar ett objekt som implementerar det angivna gränssnittet för att tillåta åtkomst till Microsoft JDBC-drivrutinen för SQL Server-specifika metoder.
Syntax
  
public <T> T unwrap(Class<T> iface)  
Parameterar
iface
En klass av typen T som definierar ett gränssnitt.
Returvärde
Ett objekt som implementerar det angivna gränssnittet.
Undantag
Anmärkningar
Metoden unwrap definieras av gränssnittet java.sql.Wrapper, som introduceras i JDBC 4.0 Spec.
Program kan behöva komma åt tillägg till JDBC-API:et som är specifika för Microsoft JDBC-drivrutinen för SQL Server. Metoden unwrap stöder avskrivning till offentliga klasser som objektet utökar, om klasserna exponerar leverantörstillägg.
SQLServerCallableStatement implementerar ISQLServerPreparedStatement, som utökas från ISQLServerStatement. När den här metoden anropas packas objektet upp till följande klasser: SQLServerStatement, SQLServerPreparedStatement och SQLServerCallableStatement.
Mer information finns i Omslutningar och gränssnitt.
Följande kodexempel visar hur du använder metoderna isWrapperFor och avskrivning för att kontrollera drivrutinstilläggen och anropa de leverantörsspecifika metoderna, till exempel setResponseBuffering och 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();  
  }  
}   
Se även
              isWrapperFor-metoden (SQLServerCallableStatement)
              SQLServerCallableStatement-medlemmar
              SQLServerCallableStatement-klass