Partilhar via


Invólucros e interfaces

Baixar driver JDBC

O Microsoft JDBC Driver for SQL Server suporta interfaces que permitem criar um proxy de uma classe e wrappers que permitem aceder a extensões da API JDBC específicas do Microsoft JDBC Driver para SQL Server através de uma interface proxy.

Pacotes

O Driver Microsoft JDBC para SQL Server suporta a interface java.sql.Wrapper. Esta interface fornece um mecanismo para aceder a extensões da API JDBC específicas do Microsoft JDBC Driver para SQL Server através de uma interface proxy.

A interface java.sql.Wrapper define dois métodos: isWrapperFor e unwrap. O método isWrapperFor verifica se o objeto de entrada especificado implementa esta interface. O método unwrap devolve um objeto que implementa esta interface para permitir o acesso ao Microsoft JDBC Driver para métodos específicos do SQL Server.

os métodos isWrapperFor e unwrap são expostos da seguinte forma:

Interfaces

A partir do SQL Server JDBC Driver 3.0, estão disponíveis interfaces para um servidor de aplicações aceder a um método específico do driver a partir da classe associada. O servidor de aplicações pode envolver a classe criando um proxy, expondo o driver Microsoft JDBC para funcionalidades específicas do SQL Server a partir de uma interface. O Microsoft JDBC Driver para SQL Server suporta interfaces que têm o Microsoft JDBC Driver para métodos e constantes específicos do SQL Server, para que um servidor de aplicações possa criar um proxy da classe.

As interfaces derivam de interfaces Java padrão, pelo que pode usar o mesmo objeto depois de desembrulhado para aceder a funcionalidades específicas do driver ou funcionalidades genéricas do Microsoft JDBC Driver for SQL Server.

As seguintes interfaces são adicionadas:

Example

Description

Este exemplo demonstra como aceder a um driver Microsoft JDBC para uma função específica do SQL Server a partir de um objeto DataSource. Esta classe DataSource pode ter sido encapsulada por um servidor de aplicações. Para aceder à função ou constante específica do driver JDBC, pode desfazer a fonte de dados numa interface ISQLServerDataSource e usar as funções declaradas nessa interface.

Código

import javax.sql.*;
import java.sql.*;
import com.microsoft.sqlserver.jdbc.*;

public class UnWrapTest {
   public static void main(String[] args) {
      // This is a test.  This DataSource object could be something from an appserver
      // which has wrapped the real SQLServerDataSource with its own wrapper
      SQLServerDataSource ds = new SQLServerDataSource();
      checkSendStringParametersAsUnicode(ds);
   }

   // Unwrap to the ISQLServerDataSource interface to access the getSendStringParametersAsUnicode function
   static void checkSendStringParametersAsUnicode(DataSource ds) {
      try {
         final ISQLServerDataSource sqlServerDataSource = ds.unwrap(ISQLServerDataSource.class);
         boolean sendStringParametersAsUnicode = sqlServerDataSource.getSendStringParametersAsUnicode();

         System.out.println("Send string as parameter value is:-" + sendStringParametersAsUnicode);

      } catch (SQLException sqlE) {
         System.out.println("Exception:-" + sqlE);
      }
   }
}

Consulte também

Noções básicas sobre os tipos de dados do driver JDBC