Pembungkus dan antarmuka

Unduh driver JDBC

Microsoft JDBC Driver for SQL Server mendukung antarmuka yang memungkinkan Anda membuat proksi kelas, dan pembungkus yang memungkinkan Anda mengakses ekstensi ke API JDBC yang khusus untuk Driver Microsoft JDBC untuk SQL Server melalui antarmuka proksi.

Pembungkus

Driver Microsoft JDBC untuk SQL Server mendukung antarmuka java.sql.Wrapper. Antarmuka ini menyediakan mekanisme untuk mengakses ekstensi ke JDBC API yang khusus untuk Driver Microsoft JDBC untuk SQL Server melalui antarmuka proksi.

Antarmuka java.sql.Wrapper mendefinisikan dua metode: isWrapperFor dan unwrap. Metode isWrapperFor memeriksa apakah objek input yang ditentukan mengimplementasikan antarmuka ini. Metode unwrap mengembalikan objek yang mengimplementasikan antarmuka ini untuk memungkinkan akses ke Driver Microsoft JDBC untuk metode tertentu SQL Server.

isWrapperFor dan metode unwrap diekspos sebagai berikut:

Antarmuka

Mulai SQL Server JDBC Driver 3.0, antarmuka tersedia untuk server aplikasi untuk mengakses metode khusus driver dari kelas terkait. Server aplikasi dapat membungkus kelas dengan membuat proksi, mengekspos Driver Microsoft JDBC untuk fungsionalitas khusus SQL Server dari antarmuka. Driver Microsoft JDBC untuk SQL Server mendukung antarmuka yang memiliki Driver Microsoft JDBC untuk SQL Server metode dan konstanta tertentu sehingga server aplikasi dapat membuat proksi kelas.

Antarmuka berasal dari antarmuka Java standar sehingga Anda dapat menggunakan objek yang sama setelah dibongkar untuk mengakses fungsionalitas khusus driver atau Driver Microsoft JDBC generik untuk fungsionalitas SQL Server.

Antarmuka berikut ditambahkan:

Contoh

Deskripsi

Sampel ini menunjukkan cara mengakses Driver Microsoft JDBC untuk fungsi khusus SQL Server dari objek DataSource. Kelas DataSource ini mungkin telah dibungkus oleh server aplikasi. Untuk mengakses fungsi atau konstanta khusus driver JDBC, Anda dapat membuka bungkus sumber data ke antarmuka ISQLServerDataSource dan menggunakan fungsi yang dideklarasikan dalam antarmuka ini.

Kode

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

Lihat juga

Memahami jenis data driver JDBC