Mengatur properti koneksi

Unduh driver JDBC

Anda dapat menentukan properti string koneksi dengan berbagai cara:

  • Sebagai <name>=<value> properti di URL koneksi saat tersambung dengan menggunakan kelas DriverManager. Untuk sintaks string koneksi, lihat Membangun URL koneksi.

  • Sebagai <name>=<value> properti dalam parameter Propertiesmetode Connect di kelas DriverManager.

  • Sebagai nilai dalam metode setter yang sesuai dari sumber data driver. Contohnya:

    datasource.setServerName(value)
    datasource.setDatabaseName(value)
    

Keterangan

  • Nama properti tidak peka huruf besar/kecil. Driver menyelesaikan nama properti duplikat dalam urutan berikut:

    1. Argumen API, seperti user dan password
    2. Koleksi properti
    3. Instans terakhir dalam string koneksi
  • Anda dapat menggunakan nilai yang tidak diketahui untuk nama properti. Driver JDBC tidak memvalidasi sensitivitas kasus.

  • Anda dapat menggunakan sinonim. Driver menyelesaikan masalah ini satu per satu, sama seperti dengan nama properti duplikat. Mulai versi 13.6, driver juga menerima alias cross-driver yang umum ini:

    Alias Properti JDBC
    app applicationName
    columnEncryption columnEncryptionSetting
    connectTimeout loginTimeout
    quotedId quotedIdentifier
    trusted_connection integratedSecurity
    uid user

    Pencocokan alias tidak sensitif terhadap huruf besar/kecil.

  • Driver Microsoft JDBC untuk SQL Server mengambil nilai default server untuk properti koneksi kecuali untuk ANSI_DEFAULTS dan IMPLICIT_TRANSACTIONS. Driver Microsoft JDBC untuk SQL Server secara otomatis mengatur ANSI_DEFAULTS ke ON dan IMPLICIT_TRANSACTIONS ke OFF.

  • Jika Anda mengatur autentikasi ke ActiveDirectoryPassword [DEPRECATED], sertakan pustaka berikut di classpath: microsoft-authentication-library-for-java. Temukan di Maven Repository. Cara paling sederhana untuk mengunduh pustaka dan dependensinya adalah dengan menggunakan Maven:

    1. Instal Maven di sistem Anda.
    2. Masuk ke halaman GitHub driver.
    3. Unduh pom.xml file.
    4. Jalankan perintah Maven berikut untuk mengunduh pustaka dan dependensinya: mvn dependency:copy-dependencies.

Properti

Bagian berikut menjelaskan semua properti string koneksi yang saat ini tersedia untuk driver JDBC.

accessToken

  • Jenis: String
  • Default: null

(Versi 6.0+) Gunakan properti ini untuk menyambungkan ke database menggunakan token akses. Anda tidak dapat mengatur accessToken dengan menggunakan URL koneksi.

accessTokenCallbackClass

  • Jenis: String
  • Default: null

(Versi 12.4+) Nama kelas penerapan panggilan balik yang akan digunakan dengan panggilan balik token akses.

(Versi 13.6+) Nilai harus berupa nama kelas biner Java yang valid. Driver menolak nilai yang tidak valid sebelum mencoba memuat kelas.

applicationIntent

  • Jenis: String
  • Default: ReadWrite

(Versi 6.0+) Menyatakan jenis beban kerja aplikasi untuk tersambung ke server.

Nilai yang mungkin adalah ReadOnly dan ReadWrite.

Untuk informasi selengkapnya tentang pemulihan bencana, lihat dukungan driver JDBC untuk Ketersediaan Tinggi dan pemulihan bencana.

applicationName

  • Jenis: String [<=128 char]
  • Default: null

Nama aplikasi, atau "Microsoft Driver JDBC untuk SQL Server" jika Anda tidak memberikan nama.

Gunakan nama ini untuk mengidentifikasi aplikasi tertentu di berbagai alat pembuatan profil dan pengelogan SQL Server.

authentication

  • Jenis: String
  • Default: NotSpecified

(Versi 6.0+) Properti opsional ini menunjukkan metode autentikasi mana yang akan digunakan untuk koneksi.

Nilai yang mungkin adalah ActiveDirectoryIntegrated, ActiveDirectoryManagedIdentity (versi 12.2+), ActiveDirectoryMSI (versi 7.2+), ActiveDirectoryInteractive (versi 9.2+), ActiveDirectoryServicePrincipal (versi 9.2+), ActiveDirectoryPassword [DEPRECATED], SqlPassword, dan default NotSpecified.

Gunakan ActiveDirectoryIntegrated (versi 6.0+) untuk menyambungkan ke SQL menggunakan Windows authentication terintegrasi.

Gunakan ActiveDirectoryManagedIdentity (versi 12.2+) atau ActiveDirectoryMSI (versi 7.2+) untuk menyambungkan ke SQL dari dalam sumber daya Azure. Misalnya, Mesin Virtual Azure, App Service, atau Function App menggunakan autentikasi identitas terkelola.

Dua jenis identitas terkelola yang didukung oleh driver saat menggunakan ActiveDirectoryManagedIdentity atau ActiveDirectoryMSI mode autentikasi adalah:

  • System-Assigned Identitas Terkelola: Digunakan untuk memperoleh accessToken secara default.

  • Identitas Terkelola yang Ditugaskan Pengguna: Digunakan untuk memperoleh accessToken jika ID Klien dari identitas terkelola ditentukan dengan msiClientId properti koneksi.

Gunakan ActiveDirectoryInteractive untuk menyambungkan ke database menggunakan alur autentikasi interaktif.

Gunakan ActiveDirectoryServicePrincipal (versi 9.2+) untuk menyambungkan ke database menggunakan ID klien dan rahasia identitas perwakilan layanan. Tentukan ID klien pada properti userName dan rahasia pada properti password (10.2+).

Gunakan ActiveDirectoryServicePrincipalCertificate (versi 12.4+) untuk menyambungkan ke database menggunakan ID klien dan sertifikat identitas perwakilan layanan. Tentukan ID klien di userName properti dan jalur ke sertifikat di clientCertificate properti .

Untuk opsi selengkapnya, lihat Menyambungkan menggunakan mode autentikasi ActiveDirectoryServicePrincipalCertificate.

Gunakan ActiveDirectoryPassword [DEPRECATED] untuk menyambungkan ke SQL menggunakan nama utama dan kata sandi Microsoft Entra.

ActiveDirectoryPassword tidak digunakan lagi.

Untuk informasi selengkapnya, lihat Menyambungkan menggunakan mode autentikasi ActiveDirectoryPassword.

Gunakan SqlPassword untuk menyambungkan ke SQL menggunakan userName/user properti dan password.

Gunakan NotSpecified jika tidak ada metode autentikasi ini yang diperlukan.

Penting

Jika autentikasi diatur ke ActiveDirectoryIntegrated, dua pustaka berikut harus diinstal: mssql-jdbc_auth-<version>-<arch>.dll (tersedia dalam paket driver JDBC) dan Pustaka Autentikasi Microsoft untuk SQL Server (ADAL.DLL). Pustaka Autentikasi Microsoft dapat diinstal dari Unduh Driver ODBC untuk SQL Server atau Unduh Microsoft OLE DB Driver for SQL Server. Driver JDBC hanya mendukung versi 1.0.2028.318 dan yang lebih tinggi untuk ADAL.DLL.

Ketika Anda mengatur properti autentikasi ke nilai apa pun selain NotSpecified, driver menggunakan Transport Layer Security (TLS), yang sebelumnya dikenal sebagai Secure Sockets Layer (SSL), enkripsi secara default.

Untuk informasi tentang cara mengonfigurasi autentikasi Microsoft Entra, lihat autentikasi Microsoft Entra untuk Azure SQL.

authenticationScheme

  • Jenis: String
  • Default: NativeAuthentication

Menunjukkan jenis keamanan terintegrasi mana yang Anda inginkan untuk digunakan aplikasi Anda.

Nilai yang mungkin adalah JavaKerberos, NTLM (versi 7.4+), dan default NativeAuthentication.

NativeAuthentication menyebabkan driver memuat mssql-jdbc_auth-<version>-<arch>.dll (misalnya, mssql-jdbc_auth-8.2.2.x64.dll) pada Windows, yang digunakan untuk mendapatkan informasi autentikasi terintegrasi.

(Pustaka autentikasi asli yang dimuat dinamai sqljdbc_auth.dll saat menggunakan driver versi 6.0 hingga 7.4.)

Saat menggunakan authenticationScheme=JavaKerberos, Anda harus menentukan nama domain yang sepenuhnya memenuhi syarat (FQDN) di serverName properti atau serverSpn . Jika tidak, kesalahan terjadi (Server tidak ditemukan di database Kerberos).

Untuk informasi selengkapnya tentang menggunakan authenticationScheme=JavaKerberos, lihat Gunakan autentikasi terintegrasi Kerberos untuk menyambungkan ke SQL Server.

Saat menggunakan authenticationScheme=NTLM, Anda harus menentukan domain Windows dengan menggunakan properti domain atau domainName, kredensial Windows di properti user atau userName, dan properti password. Jika tidak, kesalahan terjadi (properti koneksi harus ditentukan).

bulkCopyForBatchInsertAllowEncryptedValueModifications

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.10+) Saat Anda mengatur useBulkCopyForBatchInsert ke true, atur opsi ini ke untuk true mengaktifkan penyalinan data terenkripsi secara massal antara tabel atau database, tanpa mendekripsi data.

Untuk informasi dan peringatan selengkapnya tentang menggunakan properti ini, lihat opsi allowEncryptedValueModifications di SQLServerBulkCopyOptions.

bulkCopyForBatchInsertBatchSize

  • Jenis: int
  • Default: 0

(Versi 12.10+) Ketika Anda mengatur useBulkCopyForBatchInsert ke true, properti ini menentukan ukuran batch untuk operasi penyalinan massal yang dibuat oleh driver dari operasi penyisipan batch.

Untuk informasi selengkapnya tentang efek pengaturan ini, lihat opsi BatchSize di SQLServerBulkCopyOptions.

bulkCopyForBatchInsertCheckConstraints

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.10+) Saat Anda menggunakan useBulkCopyForBatchInsert=true, atur opsi ini ke true untuk mengaktifkan batasan pemeriksaan saat menyisipkan data. Atur opsi ini ke false untuk menonaktifkan batasan pemeriksaan.

Untuk informasi selengkapnya tentang efek pengaturan ini, lihat opsi CheckConstraints di SQLServerBulkCopyOptions.

bulkCopyForBatchInsertFireTriggers

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.10+) Saat Anda menggunakan useBulkCopyForBatchInsert=true, atur opsi ini ke true untuk mengaktifkan pemicu insert saat menyisipkan baris ke dalam database. Atur opsi ini ke false untuk menonaktifkan pemicu sisipan.

Untuk informasi selengkapnya tentang efek pengaturan ini, lihat opsi FireTriggers di SQLServerBulkCopyOptions.

bulkCopyForBatchInsertKeepIdentity

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.10+) Saat Anda menggunakan useBulkCopyForBatchInsert=true, atur opsi ini ke untuk true mempertahankan nilai identitas sumber saat menyisipkan data. Atur opsi ke false untuk menetapkan nilai identitas menurut tujuan.

Untuk informasi selengkapnya tentang efek pengaturan ini, lihat opsi KeepIdentity di SQLServerBulkCopyOptions.

bulkCopyForBatchInsertKeepNulls

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.10+) Saat Anda menggunakan useBulkCopyForBatchInsert=true, atur opsi ini ke untuk true mempertahankan nilai null dalam tabel tujuan terlepas dari pengaturan nilai default. Atur opsi ini ke false untuk memperbolehkan default tujuan menggantikan nilai null.

Untuk informasi selengkapnya tentang efek pengaturan ini, lihat opsi KeepNulls di SQLServerBulkCopyOptions.

bulkCopyForBatchInsertTableLock

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.10+) Saat Anda mengatur useBulkCopyForBatchInsert ke true, atur opsi ini ke true untuk memperoleh kunci pembaruan massal selama operasi penyalinan massal. Atur opsi ini ke false untuk menggunakan kunci baris.

Untuk informasi selengkapnya tentang efek pengaturan ini, lihat opsi TableLock di SQLServerBulkCopyOptions.

cacheBulkCopyMetadata

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.8+) Saat menggunakan useBulkCopyForBatchInsert=true, properti ini memberi tahu driver apakah harus menyimpan metadata kolom tujuan di tingkat koneksi. Jika diatur ke true, pastikan tujuan tidak berubah di antara penyisipan massal, karena driver tidak memiliki cara untuk menangani perubahan ini.

calcBigDecimalPrecision

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.6+) Bendera untuk menunjukkan apakah driver harus menghitung presisi untuk input BigDecimal, dibandingkan dengan menggunakan nilai maksimum yang diizinkan untuk presisi (38).

cancelQueryTimeout

  • Jenis: int
  • Default: -1

(Versi 6.4+) Gunakan properti ini untuk membatalkan set queryTimeout pada koneksi. Eksekusi kueri berhenti merespons dan tidak melemparkan pengecualian jika koneksi TCP ke server terputus secara diam-diam. Properti ini hanya berlaku jika queryTimeout juga diatur pada koneksi.

Driver menunggu jumlah total cancelQueryTimeout + queryTimeout detik, untuk membatalkan koneksi dan menutup saluran.

Nilai default untuk properti ini adalah -1 dan perilakunya adalah menunggu tanpa batas waktu.

clientCertificate

  • Jenis: String
  • Default: null

(Versi 8.4+) Menentukan lokasi sertifikat yang akan digunakan untuk autentikasi sertifikat klien. Driver JDBC mendukung ekstensi file PFX, PEM, DER, dan CER.

Untuk detailnya, lihat Autentikasi Sertifikat Klien untuk Skenario Loopback.

clientKey

  • Jenis: String
  • Default: null

(Versi 8.4+) Menentukan lokasi kunci privat untuk sertifikat PEM, DER, dan CER yang ditentukan oleh clientCertificate atribut .

Untuk detailnya, lihat Autentikasi Sertifikat Klien untuk Skenario Loopback.

clientKeyPassword

  • Jenis: String
  • Default: null

(Versi 8.4+) Menentukan string kata sandi opsional untuk mengakses kunci pribadi dari file clientKey.

Untuk detailnya, lihat Autentikasi Sertifikat Klien untuk Skenario Loopback.

columnEncryptionSetting

  • Jenis: String [Enabled | Disabled]
  • Default: Disabled

(Versi 6.0+) Atur ke Enabled untuk menggunakan fitur Always Encrypted (AE). Ketika AE diaktifkan, driver JDBC secara transparan mengenkripsi dan mendekripsi data sensitif yang disimpan dalam kolom database terenkripsi di server.

Untuk informasi selengkapnya tentang Always Encrypted, lihat Menggunakan Always Encrypted dengan driver JDBC.

Catatan

Always Encrypted tersedia dengan SQL Server 2016 dan versi yang lebih baru, serta Azure SQL Database.

concatNullYieldsNull

  • Jenis: String [ON | OFF]
  • Default: ON

(Versi 13.2+) Saat Anda mengatur opsi ini ke OFF, driver mengatur variabel CONCAT_NULL_YIELDS_NULL sesi database ke OFF saat membuat koneksi. Hasilnya adalah bahwa menggabungkan nilai null dengan string menghasilkan string itu sendiri (nilai null diperlakukan sebagai string kosong).

Untuk informasi selengkapnya, lihat SET CONCAT_NULL_YIELDS_NULL .

connectRetryCount

  • Jenis: int [0..255]
  • Default: 1

(Versi 9.4+) Jumlah upaya koneksi ulang jika ada kegagalan koneksi.

connectRetryInterval

  • Jenis: int [1..60]
  • Default: 10

(Versi 9.4+) Jumlah detik antara setiap upaya coba lagi koneksi.

databaseName, database

  • Jenis: String [<=128 char]
  • Default: null

Nama database yang akan disambungkan.

Jika Anda tidak menentukan nama database, koneksi menggunakan database default.

defaultTransactionIsolation

  • Tipe: String [SNAPSHOT | SERIALIZABLEREPEATABLE_READREAD_COMMITTED | READ_UNCOMMITTED | | ]
  • Default: null

(Versi 13.6+) Tingkat isolasi transaksi yang diterapkan driver saat membangun koneksi. Nilai tidak membedakan huruf besar dan huruf kecil. Jika Anda tidak mengatur properti ini, server akan menggunakan level isolasi transaksi default-nya.

Anda juga dapat mengonfigurasi properti ini dengan menggunakan setDefaultTransactionIsolation metode pada SQLServerDataSource.

datetimeParameterType

  • Jenis: String [datetime | datetime2 | datetimeoffset]
  • Default: datetime2

(Versi 12.2+) Jenis data SQL yang digunakan untuk parameter tanggal dan tanda waktu Java.

Saat Anda terhubung ke SQL Server 2016 dan versi lebih baru serta berinteraksi dengan nilai warisandatetime, atur properti ini ke .datetime Pengaturan ini mengurangi masalah konversi sisi server antara datetime dan datetime2 nilai.

Untuk informasi selengkapnya, lihat Mengatasi perubahan perilaku konversi dari datetime ke datetime2 mulai dari SQL Server 2016.

delayLoadingLobs

  • Jenis: Boolean [true | false]
  • Default: true

Bendera untuk menunjukkan apakah akan melakukan streaming semua objek LOB yang diambil dari ResultSet. Mengatur properti ini untuk false memuat seluruh objek LOB ke dalam memori tanpa streaming.

disableStatementPooling

  • Jenis: Boolean [true | false]
  • Default: true

Bendera yang menunjukkan apakah pengumpulan pernyataan harus digunakan.

domainName, domain

  • Jenis: String
  • Default: null

(Versi 7.4+) Domain Windows yang harus diautentikasi saat menggunakan autentikasi NTLM.

enablePrepareOnFirstPreparedStatementCall

  • Jenis: Boolean [true | false]
  • Default: false

Atur ke true untuk mengaktifkan pembuatan handle statement yang dipersiapkan dengan memanggil sp_prepexec saat eksekusi pertama dari statement yang dipersiapkan.

Atur ke false untuk mengubah eksekusi pertama dari pernyataan yang disiapkan menjadi memanggil sp_executesql dan bukan menyiapkan pernyataan. Jika eksekusi kedua terjadi, maka akan memanggil sp_prepexec untuk menyiapkan penangan pernyataan yang telah dipersiapkan.

enclaveAttestationProtocol

  • Jenis: String
  • Default: null

(Versi 8.2+) Properti opsional ini menunjukkan protokol pengesahan yang akan digunakan untuk Always Encrypted dengan enklave aman. Saat ini, satu-satunya nilai yang didukung untuk bidang ini adalah HGS, AAS, dan NONE (NONE hanya didukung dalam versi 11.2+).

Untuk informasi selengkapnya tentang Always Encrypted dengan enklave aman, lihat Menggunakan Always Encrypted dengan enklave aman dengan driver JDBC.

enclaveAttestationUrl

  • Jenis: String
  • Default: null

(Versi 8.2+) Properti opsional ini menunjukkan URL titik akhir layanan pengesahan yang akan digunakan untuk Always Encrypted dengan enklave aman.

Untuk informasi selengkapnya tentang Always Encrypted dengan enklave aman, lihat Menggunakan Always Encrypted dengan enklave aman dengan driver JDBC.

encrypt

  • Jenis: String
  • Default: null

Atur ke true untuk menentukan bahwa Database Engine SQL menggunakan enkripsi TLS untuk semua data yang dikirim antara klien dan server jika server memiliki sertifikat yang diinstal. Nilai default berada true di versi 10.2 dan yang lebih baru dan false di 9.4 dan yang lebih lama.

Di versi 6.0 ke atas, ada pengaturan authentication koneksi baru yang menggunakan enkripsi TLS secara default.

Untuk informasi selengkapnya tentang properti ini, lihat properti authentication.

Dalam versi 11.2.0 dan yang lebih baru, encrypt diubah dari Boolean ke string, memungkinkan dukungan TDS 8.0 saat properti diatur ke strict.

Perubahan default dalam versi 10.2 adalah perubahan yang melanggar. Jika Anda memutakhirkan dari 9.4 atau yang lebih lama dan server Anda tidak memiliki sertifikat TLS yang valid, atur trustServerCertificate ke true atau berikan sertifikat yang valid.

failoverPartner

  • Jenis: String
  • Default: null

Nama server failover yang digunakan dalam konfigurasi pencerminan database. Properti ini digunakan untuk kegagalan koneksi awal ke server utama. Setelah Anda membuat koneksi awal, properti ini diabaikan. Harus digunakan dengan properti databaseName.

Catatan

Driver tidak mendukung nomor port dari instans server untuk instans mitra failover sebagai bagian dari properti failoverPartner di string koneksi. Namun, driver mendukung penentuan properti serverName, instanceName, dan portNumber dari instans server utama, dan properti failoverPartner instans mitra failover, dalam string koneksi yang sama.

Jika Anda menentukan Nama Virtual Network di properti koneksi Server, Anda tidak dapat menggunakan pencerminan database.

Untuk informasi selengkapnya tentang pemulihan bencana, lihat dukungan driver JDBC untuk Ketersediaan Tinggi dan pemulihan bencana.

fips

  • Jenis: Boolean [true | false]
  • Default: false

Atur properti ini ke true untuk Java Virtual Machine (JVM) berkemampuan FIPS.

fipsProvider

  • Jenis: String
  • Default: null

Penyedia FIPS dikonfigurasi di JVM, seperti BCFIPS atau SunPKCS11-NSS. Dihapus dalam versi 6.4.0.

Untuk informasi selengkapnya, lihat Masalah GitHub 460.

gsscredential

  • Jenis: org.ietf.jgss.GSSCredential
  • Default: null

(Versi 6.2+) Berikan kredensial pengguna untuk Delegasi yang Dibatasi Kerberos di properti ini.

Gunakan pengaturan ini dengan integratedSecurity sebagai true dan JavaKerberos sebagai authenticationScheme.

hostNameInCertificate

  • Jenis: String
  • Default: null

Nama host yang digunakan untuk memvalidasi sertifikat TLS/SSL SQL Server.

Opsi hostNameInCertificate dapat digunakan untuk menentukan nama host dalam situasi di mana nama, atau nama, yang digunakan dalam sertifikat tidak cocok dengan nama yang diteruskan ke serverName properti . Namun, jika ada kecocokan, hostNameInCertificate opsi tidak boleh digunakan.

Dalam situasi di mana properti hostNameInCertificate tidak ditentukan atau diatur ke null, Driver JDBC Microsoft untuk SQL Server menggunakan nilai properti serverName pada URL koneksi sebagai nama host untuk memvalidasi sertifikat TLS/SSL SQL Server.

Catatan

Seperti yang dijelaskan pada paragraf sebelumnya, jangan atur hostNameInCertificate opsi tersebut kecuali Anda mengonfirmasi bahwa nama atau nama-nama dalam sertifikat tidak cocok dengan nama yang Anda masukkan dalam serverName opsi tersebut.

Gunakan properti ini dalam kombinasi dengan properti encrypt, authentication, dan trustServerCertificate. Properti ini memengaruhi validasi sertifikat jika koneksi menggunakan enkripsi TLS dan trustServerCertificate diatur ke false. Pastikan nilai yang Anda berikan ke hostNameInCertificate sesuai dengan Nama Umum (CN) atau nama DNS dalam Nama Alternatif Subjek (SAN) di sertifikat server agar koneksi TLS dapat berhasil.

Untuk informasi selengkapnya tentang dukungan enkripsi, lihat Memahami dukungan enkripsi.

instanceName

  • Jenis: String [<=128 char]
  • Default: null

Nama instans database untuk dihubungkan. Saat Anda tidak menentukan properti ini, Anda menyambungkan ke instans default. Untuk kasus ketika Anda menentukan instanceName dan port, lihat catatan untuk port.

Jika Anda menentukan Nama Virtual Network di properti koneksi Server, Anda tidak dapat menggunakan properti koneksi instanceName.

Untuk informasi selengkapnya tentang pemulihan bencana, lihat dukungan driver JDBC untuk Ketersediaan Tinggi dan pemulihan bencana.

integratedSecurity

  • Jenis: Boolean [true | false]
  • Default: false

Atur ke true untuk menunjukkan bahwa kredensial Windows digunakan oleh SQL Server pada sistem operasi Windows. Jika true, driver JDBC mencari cache kredensial komputer lokal untuk kredensial yang disediakan saat pengguna masuk ke komputer atau jaringan.

Atur ke true (dengan authenticationscheme=JavaKerberos), untuk menunjukkan bahwa kredensial Kerberos digunakan oleh SQL Server.

Untuk informasi selengkapnya tentang autentikasi Kerberos, lihat Menggunakan autentikasi terintegrasi Kerberos untuk menyambungkan ke SQL Server.

Atur ke true (dengan authenticationscheme=NTLM), untuk menunjukkan bahwa kredensial NTLM digunakan oleh SQL Server.

Jika false, nama pengguna dan kata sandi harus disediakan.

ipaddresspreference

  • Jenis: String [<=128 char]
  • Default: IPv4First

Preferensi IP yang digunakan oleh aplikasi klien.

Dengan IPV4First, driver melintasi alamat IPv4 terlebih dahulu. Jika tidak ada alamat IPv4 yang berhasil dihubungkan, driver melanjutkan dan mencoba alamat IPv6, jika ada.

Dengan IPV6First, driver melintasi alamat IPv6 terlebih dahulu. Jika tidak ada alamat IPv6 yang berhasil dihubungkan, driver melanjutkan dan mencoba alamat IPv4, jika ada.

Dengan UsePlatformDefault, driver melintasi semua alamat IP dalam urutan awal yang diperoleh dari resolusi DNS.

jaasConfigurationName

  • Jenis: String
  • Default: SQLJDBCDriver

(Versi 6.2+) Setiap koneksi ke SQL Server dapat menggunakan nama Konfigurasi Masuk JAAS sendiri untuk membuat koneksi Kerberos. Anda dapat meneruskan nama entri konfigurasi melalui properti ini. Gunakan properti ini saat membuat file konfigurasi Kerberos. Secara default, driver mencari nama SQLJDBCDriver.

Untuk memuat entri dari file konfigurasi JAAS eksternal, atur java.security.auth.login.config properti sistem JVM ke jalur file lokal atau file: URI. Mulai versi 13.6, driver menolak URL nonlokal, seperti http:, https:, ldap:, jar:, dan rmi: URL. Untuk melewati konfigurasi JAAS di seluruh JVM dan menggunakan konfigurasi default driver, atur useDefaultJaasConfig=true.

Jika driver tidak menemukan konfigurasi eksternal, useDefaultCcache=true diatur untuk IBM JVM, dan useTicketCache=true untuk JVM lainnya.

keyStoreAuthentication

  • Jenis: String
  • Default: null

(Versi 6.0+) Properti ini mengidentifikasi penyimpanan kunci mana yang akan digunakan dengan Always Encrypted dan menentukan mekanisme autentikasi yang digunakan untuk mengautentikasi ke penyimpanan kunci. Driver mendukung pengaturan Java Key Store dengan mulus saat Anda mengatur keyStoreAuthentication=JavaKeyStorePassword. Untuk menggunakan properti ini, Anda juga harus mengatur properti keyStoreLocation dan keyStoreSecret untuk Java Key Store.

Dimulai dengan Microsoft JDBC Driver 8.4, Anda dapat mengatur keyStoreAuthentication=KeyVaultManagedIdentity atau keyStoreAuthentication=KeyVaultClientSecret untuk mengautentikasi ke Azure Key Vault menggunakan Identitas Terkelola.

Untuk informasi selengkapnya tentang Always Encrypted, lihat Menggunakan Always Encrypted dengan driver JDBC.

keyStoreLocation

  • Jenis: String
  • Default: null

(Versi 6.0+) Saat keyStoreAuthentication=JavaKeyStorePassword, properti keyStoreLocation mengidentifikasi jalur ke file keystore Java yang menyimpan Kunci Master Kolom untuk digunakan dengan data Always Encrypted. Jalur harus menyertakan nama file penyimpanan kunci.

Untuk informasi selengkapnya tentang Always Encrypted, lihat Menggunakan Always Encrypted dengan driver JDBC.

keyStorePrincipalId

  • Jenis: String
  • Default: null

(Versi 8.4+) Saat keyStoreAuthentication=KeyVaultManagedIdentity, properti keyStorePrincipalId menentukan ID klien aplikasi Microsoft Entra yang valid.

Untuk informasi selengkapnya tentang Always Encrypted, lihat Menggunakan Always Encrypted dengan driver JDBC.

keyStoreSecret

  • Jenis: String
  • Default: null

(Versi 6.0+) Ketika keyStoreAuthentication=JavaKeyStorePassword, properti keyStoreSecret mengidentifikasi kata sandi yang digunakan untuk keystore dan kunci. Saat Anda menggunakan Java Key Store, keystore dan kata sandi kunci harus sama.

Untuk informasi selengkapnya tentang Always Encrypted, lihat Menggunakan Always Encrypted dengan driver JDBC.

lastUpdateCount

  • Jenis: Boolean [true | false]
  • Default: true

Nilai true hanya mengembalikan jumlah pembaruan terakhir dari pernyataan SQL yang Anda teruskan ke server. Gunakan nilai ini hanya dengan satu pernyataan SELECT, INSERT, atau DELETE untuk mengabaikan jumlah pembaruan lain yang dapat ditimbulkan oleh server trigger. Atur properti ini ke false untuk mengembalikan semua hitung pembaruan, termasuk yang dikembalikan oleh pemicu server.

Catatan

Properti ini hanya berlaku saat Anda menggunakannya dengan metode executeUpdate . Semua metode eksekusi lainnya mengembalikan semua hasil dan jumlah pembaruan. Properti ini hanya memengaruhi jumlah pembaruan yang dikembalikan oleh pemicu pada server. Ini tidak memengaruhi tataan hasil atau kesalahan yang dihasilkan sebagai bagian dari eksekusi pemicu.

lockTimeout

  • Jenis: int
  • Default: -1

Jumlah milidetik untuk menunggu sebelum database melaporkan waktu habis kunci. Perilaku default adalah menunggu tanpa batas waktu. Jika Anda tidak menentukan nilai untuk properti ini, nilai ini adalah default untuk semua pernyataan pada koneksi.

Atau, gunakan Statement.setQueryTimeout() untuk mengatur batas waktu kueri untuk pernyataan tertentu. Nilainya bisa 0, yang menentukan tidak ada tunggu.

loginTimeout

  • Jenis: int [0..65535]
  • Default: 30 (versi 11.2 dan yang lebih baru), atau 15 (versi 10.2 dan yang lebih lama)

Jumlah detik driver harus menunggu sebelum koneksi dianggap gagal karena waktu habis. Nilai nol menunjukkan bahwa batas waktu adalah batas waktu sistem default. Nilai ini adalah 30 detik (default dalam versi 11.2 dan yang lebih baru) atau 15 detik (default dalam versi 10.2 dan yang lebih lama). Nilai bukan nol adalah jumlah detik yang harus ditunggu oleh driver sebelum koneksi dianggap gagal karena waktu habis.

Jika Anda menentukan Nama Virtual Network di properti koneksi Server, tentukan nilai batas waktu tiga menit atau lebih untuk memungkinkan waktu yang memadai agar koneksi failover berhasil.

Untuk Azure SQL Database serverless dengan auto-pause diaktifkan, loginTimeout membatasi percobaan ulang koneksi driver, bukan hanya satu percobaan. Driver menghentikan percobaan ulang ketika waktu yang telah berlalu ditambah connectRetryInterval mencapai loginTimeout, jadi tentukan ukurannya agar dapat menampung jumlah percobaan ulang yang Anda inginkan. Untuk informasi lebih lanjut, lihat Menyambung ke basis data serverless yang dijeda otomatis.

Untuk informasi selengkapnya tentang pemulihan bencana, lihat dukungan driver JDBC untuk Ketersediaan Tinggi dan pemulihan bencana.

maxResultBuffer

  • Jenis: String
  • Default: null

(Versi 9.2+) Gunakan maxResultBuffer untuk mengatur jumlah maksimum byte yang akan dibaca saat membaca tataan hasil. Jika Anda tidak menentukan nilai ini, driver akan membaca seluruh tataan hasil. Anda dapat menentukan ukuran dalam dua gaya:

  • Sebagai ukuran dalam byte (misalnya 100, 150M, 300K, 400G).
  • Sebagai persentase memori timbunan maksimum (misalnya, 10p, 15pct, 20percent).

msiClientId

  • Jenis: String
  • Default: null

(Tidak digunakan lagi) (Versi 7.2+) ID Klien dari identitas terkelola (MSI) yang digunakan untuk memperoleh accessToken untuk membuat koneksi menggunakan mode otentikasi ActiveDirectoryManagedIdentity atau ActiveDirectoryMSI.

multiSubnetFailover

  • Jenis: Boolean [true | false]
  • Default: false

Selalu tentukan multiSubnetFailover=true saat targetnya adalah Azure SQL Database, Azure SQL Managed Instance, database SQL untuk Microsoft Fabric, listener grup ketersediaan dari grup ketersediaan SQL Server, atau SQL Server Failover Cluster Instance. Driver mencoba menghubungkan TCP ke semua alamat IP yang telah diselesaikan secara paralel dan menggunakan koneksi pertama yang berhasil. Ketika DNS diterjemahkan menjadi satu alamat, driver hanya melakukan satu upaya koneksi dan tidak memulai thread koneksi paralel apa pun.

Nilai yang mungkin adalah true dan false.

Untuk informasi selengkapnya tentang pemulihan bencana, lihat dukungan driver JDBC untuk Ketersediaan Tinggi dan pemulihan bencana.

Anda dapat mengakses multiSubnetFailover properti koneksi secara terprogram menggunakan getPropertyInfo, getMultiSubnetFailover, dan setMultiSubnetFailover.

Catatan

Dimulai dengan Microsoft JDBC Driver 6.0 untuk SQL Server, Anda tidak perlu lagi mengatur multiSubnetFailover ke true untuk terhubung ke pendengar grup ketersediaan. Properti baru, transparentNetworkIPResolution, yang diaktifkan secara default, menyediakan deteksi dan koneksi ke server aktif.

packetSize

  • Jenis: int [-1 | 0 | 512..32767]
  • Default: 8000

Ukuran paket jaringan yang digunakan untuk berkomunikasi dengan server, ditentukan dalam byte. Nilai -1 menunjukkan untuk menggunakan ukuran paket default server. Nilai 0 menunjukkan untuk menggunakan nilai maksimum 32767. Jika Anda mengatur properti ini ke nilai di luar rentang yang dapat diterima, pengecualian terjadi.

Penting

Jangan gunakan packetSize properti saat enkripsi diaktifkan (encrypt=true). Jika tidak, driver bisa memunculkan sebuah kesalahan koneksi.

Untuk informasi selengkapnya tentang properti ini, lihat metode setPacketSize dari kelas SQLServerDataSource .

password

  • Jenis: String [<=128 char]
  • Default: null

Kata sandi database, jika Anda terhubung menggunakan pengguna SQL dan kata sandi.

Untuk koneksi Kerberos dengan nama utama dan kata sandi, atur properti ini ke kata sandi Utama Kerberos.

(Versi 10.2+) Saat authentication=ActiveDirectoryServicePrincipal, properti password mengidentifikasi kata sandi yang akan digunakan untuk prinsipal Direktori Aktif.

portNumber, port

  • Jenis: int [0..65535]
  • Default: 1433

Port tempat server mendengarkan. Jika Anda menentukan nomor port di string koneksi, tidak ada permintaan ke SQLbrowser yang dibuat. Saat Anda menentukan port dan instanceName, koneksi dibuat ke port yang ditentukan. Namun, instanceName divalidasi dan kesalahan muncul jika tidak cocok dengan port.

Penting

Selalu tentukan nomor port, karena lebih aman daripada menggunakan SQLbrowser.

prepareMethod

  • Jenis: String [prepexec | prepare | scopeTempTablesToConnection | none]
  • Default: prepexec

(Versi 11.2.0+) Menentukan metode persiapan yang mendasar yang digunakan driver dengan pernyataan yang disiapkan.

Atur ke prepare untuk digunakan sp_prepare sebagai metode persiapan. Pengaturan prepareMethod ke nilai ini menghasilkan langkah awal yang terpisah ke database untuk menyiapkan pernyataan tanpa nilai awal apapun untuk pertimbangan dalam rencana eksekusi. Atur ke prepexec untuk digunakan sp_prepexec sebagai metode persiapan. Metode ini menggabungkan tindakan persiapan dengan eksekusi pertama, mengurangi perjalanan pulang pergi. Ini juga menyediakan database dengan nilai parameter awal yang dapat dipertimbangkan database dalam rencana eksekusi.

(Versi 13.4.0+) Setel scopeTempTablesToConnection untuk menetapkan cakupan tabel sementara yang dibuat dalam pernyataan yang disiapkan ke koneksi dengan menggunakan substitusi parameter literal daripada menggunakan pengendalian yang disiapkan di sisi server. Atur ke none untuk memaksakan substitusi parameter literal dengan eksekusi batch SQL, melewati penanganan pernyataan yang disiapkan di sisi server (sp_prepexec / sp_prepare).

Batasan dan penafian untuk scopeTempTablesToConnection dan none:

Opsi ini prepareMethod ditujukan untuk skenario kompatibilitas dan migrasi, bukan untuk penggunaan performa umum.

  • Tidak ada pernyataan yang disiapkan sisi server; SQL selalu dijalankan sebagai batch.
  • Memerlukan FORCED_PARAMETERIZATION untuk penggunaan kembali rencana yang efektif.
  • Parameter di-inline sebagai literal bukan jenis yang terikat.
  • Presisi dan skala numerik mungkin berbeda dari pengikatan parameter sisi server.
  • Nilai tanggal dan waktu diformat sebagai string oleh driver.
  • Parameter string besar meningkatkan ukuran teks SQL dan penggunaan memori.
  • Parameter BLOB dan CLOB dapat menyebabkan penggunaan memori yang tinggi atau kondisi di luar memori.
  • SQL Server menyimpulkan jenis data parameter pada waktu penguraian SQL.
  • Rencana kueri mungkin bervariasi karena perbedaan nilai harfiah.
  • Kesalahan terdeteksi pada waktu eksekusi daripada pada waktu pengikatan.
  • SQL yang dijalankan mencakup nilai harfiah dan terlihat dalam jejak dan log server.

queryTimeout

  • Jenis: int
  • Default: -1

Jumlah detik untuk menunggu sebelum terjadi timeout pada kueri. Nilai defaultnya adalah -1, yang berarti batas waktu tak terbatas. Atur nilai ini ke 0 juga menyiratkan untuk menunggu tanpa batas waktu.

quotedIdentifier

  • Jenis: String [ON | OFF]
  • Default: ON

(Versi 13.2+) Saat Anda mengatur opsi ini ke OFF, driver mengatur variabel QUOTED_IDENTIFIER sesi database ke OFF saat membuat koneksi. Database memperlakukan tanda kutip ganda sebagai pemisah string untuk literal karakter, dan Anda tidak dapat menggunakan tanda kutip ganda untuk mengapit identifikator.

Untuk informasi selengkapnya, lihat SET QUOTED_IDENTIFIER .

realm

  • Jenis: String
  • Default: null

(Versi 9.4+) Wilayah untuk autentikasi Kerberos. Atur nilai ini untuk mengambil alih realm autentikasi Kerberos yang otomatis dideteksi driver dari ranah server.

replication

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 9.4+) Pengaturan ini memberi tahu server jika koneksi digunakan untuk replikasi. Saat diaktifkan, trigger dengan opsi NOT FOR REPLICATION tidak diaktifkan pada koneksi.

responseBuffering

  • Jenis: String [full | adaptive]
  • Default: adaptive

Jika Anda mengatur properti ini ke adaptive, driver akan menyangga jumlah minimum data jika diperlukan. Mode defaultnya adalah adaptive.

Jika Anda mengatur properti ini ke full, driver membaca seluruh hasil yang ditetapkan dari server saat menjalankan pernyataan.

Catatan

Dimulai dengan driver JDBC versi 1.2, perilaku buffering default adalah adaptive. Untuk menggunakan perilaku default versi 1.2 di aplikasi Anda, atur responseBuffering properti ke full baik di properti koneksi atau dengan metode setResponseBuffering objek Kelas SQLServerStatement .

selectMethod

  • Jenis: String [direct | cursor]
  • Default: direct

Jika Anda mengatur properti ini ke cursor, driver membuat kursor database untuk setiap kueri yang dibuatnya pada koneksi untuk TYPE_FORWARD_ONLY dan CONCUR_READ_ONLY kursor. Biasanya, Anda hanya memerlukan properti ini jika aplikasi Anda menghasilkan tataan hasil besar yang tidak dapat sepenuhnya pas dalam memori klien. Jika Anda mengatur properti ini ke cursor, driver hanya menyimpan jumlah baris tataan hasil yang terbatas dalam memori klien.

Secara default, driver menyimpan semua baris tataan hasil dalam memori klien. Perilaku default ini memberikan performa tercepat saat aplikasi memproses semua baris.

sendStringParametersAsUnicode

  • Jenis: Boolean [true | false]
  • Default: true

Jika Anda mengatur sendStringParametersAsUnicode properti ke true, driver akan mengirim parameter string ke server dalam format Unicode.

Jika Anda mengatur sendStringParametersAsUnicode properti ke false, driver mengirim parameter string ke server dalam format non-Unicode seperti ASCII atau MBCS alih-alih Unicode.

Nilai default untuk sendStringParametersAsUnicode properti adalah true.

Catatan

Driver memeriksa properti sendStringParametersAsUnicode hanya saat mengirim nilai parameter dengan jenis CHAR, VARCHAR, atau LONGVARCHAR JDBC. Metode karakter nasional JDBC 4.0 yang baru mencakup metode seperti setNString, setNCharacterStream, dan setNClob dari kelas SQLServerPreparedStatement dan SQLServerCallableStatement. Metode ini selalu mengirim nilai parameter mereka ke server di Unicode terlepas dari pengaturan properti ini.

Untuk performa optimal dengan jenis data JDBC CHAR, VARCHAR, dan LONGVARCHAR, aplikasi harus mengatur properti sendStringParametersAsUnicode ke false dan menggunakan metode karakter non-nasional setString, setCharacterStream, dan setClob dari kelas SQLServerPreparedStatement dan SQLServerCallableStatement.

Ketika aplikasi mengatur sendStringParametersAsUnicode properti ke false dan menggunakan metode karakter non-nasional untuk mengakses jenis data Unicode di sisi server (seperti nchar, , nvarchardan ntext), beberapa data mungkin hilang jika kolase database tidak mendukung karakter dalam parameter yang String diteruskan oleh metode karakter non-nasional.

Aplikasi harus menggunakan cara-cara karakter nasional setNString, setNCharacterStream, dan setNClob dari kelas SQLServerPreparedStatement dan SQLServerCallableStatement untuk jenis data JDBC NCHAR, NVARCHAR, dan LONGNVARCHAR.

Mengubah nilai ini dapat memengaruhi pengurutan hasil dari database. Perbedaan pengurutan disebabkan oleh aturan pengurutan yang berbeda untuk karakter Unicode versus karakter non-Unicode.

sendTemporalDataTypesAsStringForBulkCopy

  • Jenis: Boolean [true | false]
  • Default: true

(Versi 8.4+) Ketika Anda mengatur properti koneksi ini ke false, driver mengirim DATE, , DATETIMEDATETIME2, DATETIMEOFFSET, SMALLDATETIME, dan TIME jenis data sebagai jenis masing-masing alih-alih mengirimnya sebagai String.

Ketika Anda mengatur properti koneksi ini ke false, driver menerima format literal string default dari setiap jenis data temporal, misalnya:

  • DATE: YYYY-MM-DD
  • DATETIME: YYYY-MM-DD hh:mm:ss[.nnn]
  • DATETIME2: YYYY-MM-DD hh:mm:ss[.nnnnnnn]
  • DATETIMEOFFSET: YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+/-}hh:mm]
  • SMALLDATETIME: YYYY-MM-DD hh:mm:ss
  • TIME: hh:mm:ss[.nnnnnnn]

sendTimeAsDatetime

  • Jenis: Boolean [true | false]
  • Default: true

Properti ini ditambahkan di Driver JDBC SQL Server 3.0.

  • Atur ke true untuk mengirim nilai java.sql.Time ke server sebagai nilai SQL Server datetime.

  • Atur ke false untuk mengirim nilai java.sql.Time ke server sebagai nilai SQL Server time.

Nilai default untuk properti ini saat true ini dan mungkin berubah dalam rilis mendatang.

Untuk informasi selengkapnya tentang cara Driver Microsoft JDBC untuk SQL Server mengonfigurasi nilai java.sql.Time sebelum mengirimkannya ke server, lihat Konfigurasi cara nilai java.sql.Time dikirim.

serverCertificate, server

  • Jenis: String
  • Default: null

(Versi 11.2.0+) Jalur ke file sertifikat server. Driver menggunakan sertifikat ini untuk validasi ketika Anda mengatur encrypt ke strict. Driver mendukung file sertifikat yang menggunakan format file PEM.

serverName, server

  • Jenis: String
  • Default: null

Komputer yang menjalankan SQL Server atau database Azure SQL.

Anda juga dapat menentukan Nama Jaringan Virtual dari grup ketersediaan.

Untuk informasi selengkapnya tentang pemulihan bencana, lihat dukungan driver JDBC untuk Ketersediaan Tinggi dan pemulihan bencana.

serverNameAsACE

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 6.0+) Atur ke true untuk menunjukkan bahwa driver harus menerjemahkan nama server Unicode ke pengodean yang kompatibel dengan ASCII (Punycode) untuk koneksi. Jika pengaturan ini adalah false, driver menggunakan nama server sebagaimana disediakan untuk menyambungkan.

Untuk informasi selengkapnya tentang fitur internasional, lihat Fitur internasional dari driver JDBC.

serverPreparedStatementDiscardThreshold

  • Jenis: int
  • Default: 10

(Versi 6.2+) Gunakan properti ini untuk mengontrol berapa banyak tindakan pembuangan yang tertunda dari pernyataan yang disiapkan (sp_unprepare) dapat terjadi per koneksi sebelum driver membersihkan handle yang tertunda di server.

Jika Anda mengatur properti ini ke <= 1, driver segera menjalankan tindakan unprepare pada pernyataan yang disiapkan tutup. Jika Anda mengatur properti ke > 1, driver mengelompokkan panggilan ini untuk mengurangi beban panggilan sp_unprepare terlalu sering.

serverSpn

  • Jenis: String
  • Default: null

(Versi 4.2+) Gunakan properti opsional ini untuk menentukan Nama Perwakilan Layanan (SPN) untuk koneksi Java Kerberos. Gunakan dengan authenticationScheme.

Untuk menentukan SPN, gunakan formulir: MSSQLSvc/fqdn:port@REALM di mana fqdn adalah nama domain yang sepenuhnya memenuhi syarat, port adalah nomor port, dan REALM adalah ranah Kerberos dari SQL Server dalam huruf besar.

Catatan

@REALM bersifat opsional jika ranah default klien (seperti yang ditentukan dalam konfigurasi Kerberos) sama dengan realm Kerberos untuk SQL Server.

Untuk informasi selengkapnya tentang menggunakan serverSpn dengan Java Kerberos, lihat Gunakan autentikasi terintegrasi Kerberos untuk menyambungkan ke SQL Server.

socketFactoryClass

  • Jenis: String
  • Default: null

(Versi 8.4+) Menentukan nama kelas untuk pabrik soket kustom yang akan digunakan alih-alih pabrik soket default.

(Versi 13.6+) Nilai harus berupa nama kelas biner Java yang valid. Driver menolak nilai yang tidak valid sebelum mencoba memuat kelas.

socketTimeout

  • Jenis: int
  • Default: 0

Jumlah milidetik yang harus ditunggu sebelum batas waktu terjadi saat melakukan pembacaan (read) atau penerimaan (accept) pada soket. Nilai defaultnya adalah 0, yang berarti batas waktu tak terbatas.

statementPoolingCacheSize

  • Jenis: int
  • Default: 0

(Versi 6.4+) Gunakan properti ini untuk mengaktifkan penembolokan handle prepared statement di driver.

Properti ini mendefinisikan ukuran cache untuk pengumpulan pernyataan.

Gunakan properti ini hanya dengan disableStatementPooling properti koneksi, yang harus Anda atur ke false. Pengaturan disableStatementPooling ke true atau statementPoolingCacheSize ke 0 menonaktifkan penyimpanan sementara handle pernyataan yang sudah disiapkan.

sslProtocol

  • Jenis: String
  • Default: TLS

(Versi 6.4+) Gunakan properti ini untuk menentukan protokol TLS yang perlu dipertimbangkan selama koneksi aman.

Nilai yang mungkin adalah: TLS, , TLSv1TLSv1.1, dan TLSv1.2.

Untuk informasi selengkapnya tentang protokol Secure Sockets Layer, lihat SSLProtocol.

transparentNetworkIPResolution

  • Jenis: Boolean [true | false]
  • Default: true

(Versi 6.0+) Properti ini menyediakan deteksi dan koneksi yang lebih cepat ke server aktif. Atur ke true atau false. Nilai defaultnya adalah true.

Sebelum Microsoft Driver JDBC 6.0 untuk SQL Server, aplikasi harus mengatur string koneksi untuk menyertakan multiSubnetFailover=true untuk menunjukkan bahwa aplikasi terhubung ke Grup Ketersediaan AlwaysOn. Tanpa mengatur kata kunci koneksi multiSubnetFailover ke true, aplikasi mungkin mengalami kedaluwarsa saat menyambungkan ke Grup Ketersediaan Always On. Dimulai dengan versi 6.0, aplikasi tidak perlu lagi mengatur multiSubnetFailover ke true.

Catatan

Saat Anda menggunakan autentikasi gabungan atau menentukan multisubnetfailover, driver akan dinonaktifkan transparentNetworkIPResolution secara default. Untuk mengaktifkan fitur ini, atur transparentNetworkIPResolution secara eksplisit ke true.

Ketika transparentNetworkIPResolution=true, percobaan koneksi pertama menggunakan 500 milidetik sebagai timeout. Setiap upaya selanjutnya menggunakan logika batas waktu yang sama seperti yang digunakan oleh properti multiSubnetFailover.

trustManagerClass

  • Jenis: String
  • Default: null

(Versi 6.4+) Nama kelas berkualifikasi penuh dari implementasi kustom javax.net.ssl.TrustManager.

(Versi 13.6+) Nilai harus berupa nama kelas biner Java yang valid. Driver menolak nilai yang tidak valid sebelum mencoba memuat kelas.

trustManagerConstructorArg

  • Jenis: String
  • Default: null

(Versi 6.4+) Argumen opsional untuk diteruskan ke konstruktor TrustManager. Jika Anda menentukan trustManagerClass properti dan meminta koneksi terenkripsi, driver menggunakan TrustManager kustom alih-alih sistem default TrustManager berbasis keystore JVM.

trustServerCertificate

  • Jenis: Boolean [true | false]
  • Default: false

Atur ke true untuk menentukan bahwa driver tidak memvalidasi sertifikat TLS/SSL server.

  • Jika true, sertifikat TLS/SSL server secara otomatis dipercaya ketika lapisan komunikasi dienkripsi menggunakan TLS.

  • Jika false, driver memvalidasi sertifikat TLS/SSL server. Jika validasi sertifikat server gagal, driver akan menimbulkan kesalahan dan menutup koneksi. Nilai defaultnya adalah false. Pastikan nilai yang diteruskan serverName sama persis dengan Nama Umum (CN) atau nama DNS di Nama Alternatif Subjek di sertifikat server agar koneksi TLS/SSL berhasil.

Untuk informasi selengkapnya tentang dukungan enkripsi, lihat Memahami dukungan enkripsi.

Catatan

Gunakan properti ini bersama dengan properti encrypt dan authentication. Properti ini hanya memengaruhi validasi sertifikat TLS/SSL server jika koneksi menggunakan enkripsi TLS.

trustStore

  • Jenis: String
  • Default: null

Jalur (termasuk nama file) ke file sertifikat trustStore . File trustStore berisi daftar sertifikat yang dipercaya klien.

Ketika Anda tidak menentukan properti ini atau mengaturnya ke null, driver menggunakan aturan pencarian dari pabrik pengelola kepercayaan untuk memutuskan penyimpanan sertifikat mana yang akan digunakan.

SunX509 TrustManagerFactory default mencoba menemukan materi tepercaya dalam urutan pencarian berikut:

  1. File yang ditentukan oleh javax.net.ssl.trustStore properti sistem JVM.
  2. <java-home>/lib/security/jssecacerts arsip.
  3. <java-home>/lib/security/cacerts arsip.

Untuk informasi selengkapnya tentang Antarmuka SUNX509 TrustManager, lihat dokumentasi Antarmuka SUNX509 TrustManager di situs Web Sun Microsystems.

Catatan

Properti ini hanya memengaruhi pencarian sertifikat trustStore jika koneksi menggunakan enkripsi TLS dan trustServerCertificate properti diatur ke false.

trustStorePassword

  • Jenis: String
  • Default: null

Kata sandi yang digunakan untuk memeriksa integritas trustStore data.

Jika Anda mengatur trustStore properti tetapi tidak mengatur trustStorePassword properti , driver tidak memeriksa integritas trustStore.

Ketika Anda tidak menentukan trustStore properti dan trustStorePassword , driver menggunakan properti sistem JVM, javax.net.ssl.trustStore dan javax.net.ssl.trustStorePassword. Jika Anda tidak menentukan javax.net.ssl.trustStorePassword properti sistem, driver tidak memeriksa integritas trustStore.

Jika Anda tidak mengatur properti trustStore tetapi mengatur properti trustStorePassword, driver JDBC menggunakan file yang ditentukan javax.net.ssl.trustStore sebagai keystore. Driver memeriksa integritas penyimpanan sertifikat dengan menggunakan yang ditentukan trustStorePassword. Pengaturan ini diperlukan ketika aplikasi klien tidak ingin menyimpan kata sandi di properti sistem JVM.

Catatan

Properti trustStorePassword hanya memengaruhi pencarian sertifikat trustStore , jika koneksi menggunakan koneksi TLS dan trustServerCertificate properti diatur ke false.

trustStoreType

  • Jenis: String
  • Default: JKS

Atur properti ini untuk menentukan jenis penyimpanan kepercayaan yang akan digunakan untuk mode FIPS.

Nilai yang mungkin adalah PKCS12 atau jenis yang ditentukan oleh penyedia FIPS.

useBulkCopyForBatchInsert

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 9.2+) Saat Anda mengaktifkan properti koneksi ini, driver secara transparan menggunakan Bulk Copy API untuk operasi penyisipan batch yang menggunakan java.sql.PreparedStatement. Fitur ini dapat memberikan performa yang lebih baik.

Fitur ini dinonaktifkan secara default. Atur properti ini ke true untuk mengaktifkannya.

Penting

Fitur ini hanya mendukung kueri yang sepenuhnya diparameterkan INSERT . Jika Anda menggabungkan INSERT kueri dengan kueri SQL lainnya, atau jika kueri berisi data dalam nilai, eksekusi akan kembali ke operasi penyisipan batch dasar.

Untuk informasi selengkapnya tentang cara menggunakan properti ini, lihat Menggunakan API salinan massal untuk operasi penyisipan batch.

useDefaultGSSCredential

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.6+) Bendera untuk menunjukkan apakah driver harus membuat GSSCredential atas nama pengguna untuk menggunakan Native GSS-API untuk autentikasi Kerberos.

useDefaultJaasConfig

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 12.6+) Ketika aplikasi ada bersama pustaka yang mengonfigurasi JAAS di tingkat sistem, atur properti ini untuk true memungkinkan driver menggunakan konfigurasi yang sama untuk melakukan autentikasi Kerberos.

useFmtOnly

  • Jenis: Boolean [true | false]
  • Default: false

(Versi 7.4+) Menyediakan cara alternatif untuk mengkueri Metadata Parameter dari server. Atur properti ini ke true untuk menentukan bahwa driver harus menggunakan SET FMTONLY logika saat mengkueri Metadata Parameter. Fitur ini nonaktif secara default, dan disarankan untuk tidak menggunakan properti ini seperti SET FMTONLY yang ditandai akan dihentikan. useFmtOnly tersedia untuk digunakan hanya sebagai solusi untuk masalah dan batasan yang diketahui dalam sp_describe_undeclared_parameters.

Fitur ini saat ini hanya mendukung kueri tunggal SELECT/INSERT/UPDATE/DELETE . Ketika mencoba menggunakan fitur ini dengan kueri yang tidak didukung atau kueri ganda, driver akan mencoba mengurai kueri tersebut, tetapi kemungkinan besar akan menghasilkan pengecualian.

Untuk informasi selengkapnya tentang properti ini, lihat Mengambil ParameterMetaData melalui useFmtOnly.

userName, user

  • Jenis: String [<=128 char]
  • Default: null

Pengguna database, jika Anda terhubung menggunakan pengguna SQL dan kata sandi.

Untuk koneksi Kerberos dengan menggunakan nama utama dan kata sandi, atur properti ini ke nama Prinsipal Kerberos.

(Versi 10.2+) Saat authentication=ActiveDirectoryServicePrincipal, properti userName menentukan ID klien aman Microsoft Entra yang valid.

vectorTypeSupport

  • Jenis: String [v2 | v1 | off]
  • Default: v1

(Versi 13.2+) Atur ke off untuk menentukan bahwa server mengirim jenis vektor sebagai data string dalam format JSON dan v1 untuk menentukan bahwa server mengirim jenis FLOAT32 vektor sebagai data vektor. Nilai defaultnya adalah v1.

(Versi 13.4+) Atur ke v2 untuk mengaktifkan dukungan jenis vektor asli untuk vektor FLOAT32 dan FLOAT16 . FLOAT16 vektor menggunakan serialisasi setengah presisi IEEE-754 pada kawat dan diekspos sebagai array Float[] dalam Java.

Untuk informasi selengkapnya, lihat Menggunakan jenis data vektor dengan driver JDBC.

workstationID

  • Jenis: String [<=128 char]
  • Default: <empty string>

ID stasiun kerja. Gunakan ID ini untuk mengidentifikasi stasiun kerja tertentu di berbagai alat pembuatan profil dan pengelogan.

Jika Anda tidak menentukan nilai, defaultnya adalah <empty string>.

xopenStates

  • Jenis: Boolean [true | false]
  • Default: false

Atur ke true untuk menentukan bahwa driver mengembalikan kode status yang mematuhi XOPEN dalam pengecualian.

Defaultnya adalah mengembalikan kode status SQL 99.