Share via


Methode uitpakken (SQLServerCallableStatement)

JDBC-stuurprogramma downloaden

Retourneert een object dat de opgegeven interface implementeert om toegang te verlenen tot het Microsoft JDBC-stuurprogramma voor SQL Server-specifieke methoden.

Syntaxis

  
public <T> T unwrap(Class<T> iface)  

Parameterwaarden

iface

Een klasse van het type T die een interface definieert.

Retourwaarde

Een object dat de opgegeven interface implementeert.

Uitzonderingen

SQLServerException-

Opmerkingen

De methode uitpakken wordt gedefinieerd door de interface java.sql.Wrapper, die wordt geïntroduceerd in de JDBC 4.0-specificatie.

Toepassingen moeten mogelijk toegang krijgen tot extensies voor de JDBC-API die specifiek zijn voor het Microsoft JDBC-stuurprogramma voor SQL Server. De methode uitpakken ondersteunt uitpakken van openbare klassen die door dit object worden uitgebreid, als de klassen leverancierextensies beschikbaar maken.

SQLServerCallableStatement implementeert ISQLServerPreparedStatement, dat wordt uitgebreid vanaf de ISQLServerStatement. Wanneer deze methode wordt aangeroepen, wordt het object uitgepakt naar de volgende klassen: SQLServerStatement, SQLServerPreparedStatement en SQLServerCallableStatement.

Zie Wrappers en interfaces voor meer informatie.

In het volgende codevoorbeeld ziet u hoe u de isWrapperFor- en unwrap-methoden gebruikt om de stuurprogramma-extensies te controleren en de leverancierspecifieke methoden aan te roepen, zoals setResponseBuffering en 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();  
  }  
}   

Zie ook

isWrapperFor Method (SQLServerCallableStatement)
LEDEN VAN SQLServerCallableStatement
Klasse SQLServerCallableStatement