Bagikan melalui


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 JDBC API yang khusus untuk Microsoft JDBC Driver for 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 Microsoft JDBC Driver 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 Microsoft JDBC Driver untuk metode khusus SQL Server.

isWrapperFor dan metode unwrap diekspos sebagai berikut:

Antarmuka

Dimulai di 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. Microsoft JDBC Driver for SQL Server mendukung antarmuka yang memiliki Microsoft JDBC Driver untuk metode dan konstanta khusus SQL Server sehingga server aplikasi dapat membuat proksi kelas.

Antarmuka yang berasal dari antarmuka Java standar sehingga Anda dapat menggunakan objek yang sama setelah dibongkar untuk mengakses fungsionalitas khusus driver atau fungsionalitas Microsoft JDBC Driver generik untuk 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