래퍼 및 인터페이스

JDBC 드라이버 다운로드

SQL Server용 Microsoft JDBC Driver는 클래스의 프록시를 만들 수 있는 인터페이스와 프록시 인터페이스를 통해 SQL Server용 Microsoft JDBC Driver와 관련된 JDBC API에 대한 확장에 액세스할 수 있도록 하는 래퍼를 지원합니다.

래퍼

SQL Server용 Microsoft JDBC Driver는 java.sql.Wrapper 인터페이스를 지원합니다. 이 인터페이스는 프록시 인터페이스를 통해 SQL Server용 Microsoft JDBC Driver와 관련된 JDBC API에 대한 확장에 액세스할 수 있는 메커니즘을 제공합니다.

IsWrapperFor 인터페이스는 두 메서드인 및 래핑해제를 정의 합니다. isWrapperFor 메서드는 지정된 입력 개체가 이 인터페이스를 구현하는지 확인합니다. unwrap 메서드는 SQL Server용 Microsoft JDBC Driver 관련 메서드에 액세스할 수 있도록 이 인터페이스를 구현하는 개체를 반환합니다.

isWrapperForunwrap 메서드는 다음과 같이 공개됩니다.

인터페이스

SQL Server JDBC 드라이버 3.0부터 애플리케이션 서버는 인터페이스를 사용하여 관련 클래스의 드라이버별 메서드에 액세스할 수 있습니다. 애플리케이션 서버는 프록시를 만들고 인터페이스에서 SQL Server용 Microsoft JDBC Driver 관련 기능을 노출하여 클래스를 래핑할 수 있습니다. SQL Server용 Microsoft JDBC Driver는 애플리케이션 서버가 클래스의 프록시를 만들 수 있도록 SQL Server용 Microsoft JDBC Driver 관련 메서드와 상수가 있는 인터페이스를 지원합니다.

인터페이스는 표준 Java 인터페이스에서 파생되므로 드라이버 관련 기능이나 제네릭 SQL Server용 Microsoft JDBC Driver 기능에 액세스하기 위해 래핑이 해제되면 동일한 개체를 사용할 수 있습니다.

다음 인터페이스가 추가되었습니다.

예제

Description

이 샘플에서는 DataSource 개체에서 SQL Server용 Microsoft JDBC Driver 관련 함수에 액세스하는 방법을 보여 줍니다. 이 DataSource 클래스는 애플리케이션 서버에 의해 래핑되었을 수 있습니다. JDBC 드라이버 관련 함수나 상수에 액세스하려면 데이터 원본을 ISQLServerDataSource 인터페이스로 래핑 해제하고 이 인터페이스에서 선언된 함수를 사용할 수 있습니다.

코드

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

참고 항목

JDBC 드라이버 데이터 형식 이해