Udostępnij przez


Otoki i interfejsy

pobierz sterownik JDBC

Sterownik JDBC firmy Microsoft dla serwera SQL Server obsługuje interfejsy, które pozwalają na tworzenie proxies klas, oraz pochwyty, które pozwalają na dostęp do rozszerzeń interfejsu API JDBC specyficznych dla sterownika JDBC firmy Microsoft dla serwera SQL Server za pośrednictwem interfejsu proxy.

Wrappers

Sterownik JDBC firmy Microsoft dla programu SQL Server obsługuje interfejs java.sql.Wrapper. Ten interfejs udostępnia mechanizm uzyskiwania dostępu do rozszerzeń interfejsu API JDBC specyficznych dla sterownika JDBC firmy Microsoft dla programu SQL Server za pośrednictwem interfejsu serwera proxy.

Interfejs java.sql.Wrapper definiuje dwie metody: isWrapperFor i unwrap. Metoda isWrapperFor sprawdza, czy określony obiekt wejściowy implementuje ten interfejs. Metoda unwrap zwraca obiekt, który implementuje ten interfejs, aby umożliwić dostęp do sterownika JDBC firmy Microsoft dla metod specyficznych dla programu SQL Server.

isWrapperFor i rozpakuj są uwidocznione w następujący sposób:

Interfaces

Począwszy od sterownika JDBC programu SQL Server 3.0, interfejsy są dostępne dla serwera aplikacji w celu uzyskania dostępu do metody specyficznej dla sterownika ze skojarzonej klasy. Serwer aplikacji może opakowować klasę, tworząc serwer proxy, ujawniając sterownik JDBC firmy Microsoft dla funkcji specyficznych dla programu SQL Server z poziomu interfejsu. Sterownik JDBC firmy Microsoft dla SQL Server obsługuje interfejsy zawierające specyficzne dla tego sterownika metody i stałe, co pozwala serwerowi aplikacji utworzyć proxy danej klasy.

Interfejsy pochodzą ze standardowych interfejsów Java, dzięki czemu można użyć tego samego obiektu po rozpakowaniu do uzyskania dostępu do funkcjonalności specyficznych dla sterownika lub standardowego sterownika JDBC firmy Microsoft dla SQL Server.

Dodawane są następujące interfejsy:

Example

Description

W tym przykładzie pokazano, jak uzyskać dostęp do sterownika JDBC firmy Microsoft dla funkcji specyficznej dla programu SQL Server z obiektu DataSource. Ta klasa DataSource mogła zostać opakowana przez serwer aplikacji. Aby uzyskać dostęp do funkcji specyficznej dla sterownika JDBC lub stałej, możesz odpakować źródło danych do interfejsu ISQLServerDataSource i użyć funkcji zadeklarowanych w tym interfejsie.

Code

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);
      }
   }
}

Zobacz także

Opis typów danych sterownika JDBC