Mengatur properti koneksi

Unduh driver JDBC

Properti string koneksi dapat ditentukan dengan berbagai cara:

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

  • Sebagai properti name=value dalam parameter Properti metode Koneksi di kelas DriverManager.

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

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

Keterangan

Nama properti tidak peka huruf besar/kecil, dan nama properti duplikat diselesaikan dalam urutan berikut:

  1. Argumen API (seperti pengguna dan kata sandi)
  2. Koleksi properti
  3. Instans terakhir dalam string koneksi

Nilai yang tidak diketahui diperbolehkan untuk nama properti, dan driver JDBC tidak memvalidasi untuk sensitivitas kasus.

Sinonim diizinkan dan diselesaikan secara berurutan, sama seperti nama properti duplikat.

Properti

Tabel berikut mencantumkan semua properti string koneksi yang saat ini tersedia untuk driver JDBC.

Properti
Jenis
Default
Deskripsi
accessToken

String

nihil
(Versi 6.0+) Gunakan properti ini untuk menyambungkan ke database menggunakan token akses. accessToken tidak dapat diatur menggunakan URL koneksi.
accessTokenCallbackClass

String

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

String

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, pemulihan bencana.
applicationName

String
[<=128 karakter]

nihil
Nama aplikasi, atau "Driver Microsoft JDBC untuk SQL Server" jika tidak ada nama yang disediakan.

Digunakan untuk mengidentifikasi aplikasi tertentu di berbagai alat pembuatan profil dan pengelogan SQL Server.
Autentikasi

String

Tidak Ditentukan
(Versi 6.0+) Properti opsional ini menunjukkan metode autentikasi mana yang akan digunakan untuk koneksi. Nilai yang mungkin adalah ActiveDirectoryIntegrated, ActiveDirectoryPassword, ActiveDirectoryManagedIdentity (versi 12.2+), ActiveDirectoryMSI (versi 7.2+), ActiveDirectoryInteractive (versi 9.2+), ActiveDirectoryServicePrincipal (versi 9.2+), SqlPassword, dan NotSpecified default.

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

Gunakan ActiveDirectoryPassword (versi 6.0+) untuk menyambungkan ke SQL menggunakan nama utama dan kata sandi Microsoft Entra.

Gunakan ActiveDirectoryManagedIdentity (versi 12.2+) atau ActiveDirectoryMSI (versi 7.2+) untuk menyambungkan ke SQL dari dalam Sumber Daya Azure. Misalnya, Azure Virtual Machine, App Service, atau Aplikasi Fungsi menggunakan autentikasi identitas terkelola.

Dua jenis identitas terkelola yang didukung oleh driver saat menggunakan mode autentikasi ActiveDirectoryManagedIdentity atau ActiveDirectoryMSI adalah:
1. Identitas Terkelola yang Ditetapkan Sistem: Digunakan untuk memperoleh accessToken secara default.
2. Identitas Terkelola yang Ditetapkan Pengguna: Digunakan untuk memperoleh accessToken jika ID Klien identitas terkelola ditentukan dengan properti koneksi msiClientId .

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 di properti userName dan rahasia di properti kata sandi (10.2+).

Gunakan SqlPassword untuk menyambungkan ke SQL menggunakan properti pengguna userName/dan kata sandi.

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 Microsoft Authentication Library untuk SQL Server (ADAL.DLL). Microsoft Authentication Library dapat diinstal dari Microsoft ODBC Driver untuk SQL Server atau Microsoft OLE DB Driver untuk SQL Server. Driver JDBC hanya mendukung versi 1.0.2028.318 dan yang lebih tinggi untuk ADAL.DLL.

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

Untuk informasi tentang cara mengonfigurasi autentikasi Microsoft Entra, lihat Menggunakan autentikasi Microsoft Entra.
authenticationScheme

String

NativeAuthentication
Menunjukkan jenis keamanan terintegrasi mana yang Anda inginkan untuk digunakan aplikasi Anda. Nilai yang mungkin adalah JavaKerberos, NTLM (versi 7.4+), dan NativeAuthentication default.

NativeAuthentication menyebabkan driver dimuat 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 properti serverName atau serverSpn . Jika tidak, kesalahan terjadi (Server tidak ditemukan di database Kerberos).

Untuk informasi selengkapnya tentang menggunakan authenticationScheme=JavaKerberos, lihat Menggunakan 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 pengguna atau userName , dan properti kata sandi . Jika tidak, kesalahan terjadi (properti koneksi harus ditentukan).
calcBigDecimalPrecision

Boolean
["benar" | "false"]

salah
(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

int

-1
(Versi 6.4+) Properti ini dapat digunakan untuk membatalkan set queryTimeout pada koneksi. Eksekusi kueri macet 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 detik cancelQueryTimeout + queryTimeout, untuk menghilangkan koneksi dan menutup saluran.

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

String

nihil
(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

String

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

Untuk detailnya, lihat Autentikasi Sertifikat Klien untuk Skenario Loopback.
clientKeyPassword

String

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

Untuk detailnya, lihat Autentikasi Sertifikat Klien untuk Skenario Loopback.
columnEncryptionSetting

String
["Diaktifkan" | "Dinonaktifkan"]

Nonaktif
(Versi 6.0+) Atur ke "Diaktifkan" 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 atau yang lebih baru dan Azure SQL Database.
connectRetryCount

int
[0..255]

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

int
[1..60]

10
(Versi 9.4+) Jumlah detik antara setiap upaya coba lagi koneksi.
databaseName,
database

String
[<=128 karakter]

nihil
Nama database yang akan disambungkan.

Jika tidak dinyatakan, koneksi dibuat ke database default.
datetimeParameterType

String
["datetime" | "datetime2" | "datetimeoffset"]

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

Saat menyambungkan ke SQL Server 2016 atau yang lebih tinggi dan berinteraksi dengan nilai "tanggalwaktu" warisan, klien mungkin mendapat manfaat dari pengaturan properti ke "tanggalwaktu", karena pengaturan ini mengurangi masalah konversi sisi server antara nilai "tanggalwaktu" dan "datetime2". Untuk informasi selengkapnya, lihat Mengatasi perubahan perilaku konversi tanggalwaktu ke datetime2 mulai dari SQL Server 2016
delayLoadingLobs

Boolean
["benar" | "false"]

benar
Bendera untuk menunjukkan apakah akan melakukan streaming atau tidak mengalirkan semua objek LOB yang diambil dari ResultSet. Mengatur properti ini ke "false" memuat seluruh objek LOB ke dalam memori tanpa streaming.
domainName,
domain

String
nihil
(Versi 7.4+) Domain Windows untuk diautentikasi saat menggunakan autentikasi NTLM.
disableStatementPooling

Boolean
["benar" | "false"]

benar
Bendera menunjukkan apakah pengumpulan pernyataan harus digunakan.
enablePrepareOnFirst...
PreparedStatementCall

Boolean
["benar" | "false"]

salah
Atur ke "true" untuk mengaktifkan pembuatan handel pernyataan yang disiapkan dengan memanggil sp_prepexec dengan eksekusi pertama dari pernyataan yang disiapkan.

Atur ke "false" untuk mengubah eksekusi pertama pernyataan yang disiapkan untuk memanggil sp_executesql dan tidak menyiapkan pernyataan. Jika eksekusi kedua terjadi, eksekusi akan memanggil sp_prepexec untuk menyiapkan handel pernyataan yang disiapkan.
enclaveAttestationUrl

String

nihil
(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 Always Encrypted dengan enklave aman.
enclaveAttestationProtocol

String

nihil
(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 Always Encrypted dengan enklave aman.
mengenkripsi

String

nihil
Atur ke "true" untuk menentukan bahwa SQL Server menggunakan enkripsi TLS untuk semua data yang dikirim antara klien dan server jika server memiliki sertifikat yang diinstal. Nilai defaultnya adalah "true" dalam versi 10.2 dan yang lebih baru dan "false" di 9.4 dan yang lebih lama.

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

Untuk informasi selengkapnya tentang properti ini, lihat properti 'autentikasi'.

Dalam versi 11.2.0 dan yang lebih baru, enkripsi telah diubah dari boolean ke string, memungkinkan dukungan TDS 8.0 saat properti diatur ke ketat.
failoverPartner

String

nihil
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 instans server untuk instans mitra failover sebagai bagian dari properti failoverPartner di string koneksi. Namun, menentukan properti serverName, instanceName, dan portNumber dari instans server utama dan properti failoverPartner dari instans mitra failover di string koneksi yang sama didukung.

Jika Anda menentukan Nama Jaringan Virtual di properti Koneksi server, Anda tidak dapat menggunakan pencerminan database. Untuk informasi selengkapnya tentang pemulihan bencana, lihat dukungan driver JDBC untuk Ketersediaan Tinggi, pemulihan bencana
fips

Boolean
["benar" | "false"]

"false"
Untuk JAVA Virtual Machine (JVM) yang diaktifkan FIPS, properti ini harus benar.
fipsProvider

String

nihil
Penyedia FIPS dikonfigurasi di JVM. Misalnya, BCFIPS atau SunPKCS11-NSS. Dihapus dalam versi 6.4.0. Untuk informasi selengkapnya, lihat Masalah GitHub 460.
gsscredential

org.ietf.jgss.GSSCredential

nihil
(Versi 6.2+) Kredensial pengguna yang akan digunakan untuk Delegasi Yang Dibatasi Kerberos dapat diteruskan di properti ini.

Pengaturan ini harus digunakan dengan integratedSecurity sebagai true dan JavaKerberos sebagai authenticationScheme.
hostNameInCertificate

String

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

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

Catatan: Properti ini digunakan dalam kombinasi dengan properti autentikasi enkripsi/dan properti trustServerCertificate. Properti ini memengaruhi validasi sertifikat, jika koneksi menggunakan enkripsi TLS dan trustServerCertificate diatur ke "false". Pastikan nilai yang diteruskan ke hostNameInCertificate cocok dengan Nama Umum (CN) atau nama DNS di Nama Alternatif Subjek (SAN) di sertifikat server agar koneksi TLS berhasil. Untuk informasi selengkapnya tentang dukungan enkripsi, lihat Memahami dukungan enkripsi.
instanceName

String
[<=128 karakter]

nihil
Nama instans database untuk disambungkan. Saat tidak ditentukan, koneksi dibuat ke instans default. Untuk kasus di mana instanceName dan port ditentukan, lihat catatan untuk port.

Jika Anda menentukan Nama Jaringan Virtual di properti Koneksi server, Anda tidak dapat menggunakan properti koneksi instanceName. Untuk informasi selengkapnya tentang pemulihan bencana, lihat Dukungan Driver JDBC untuk Ketersediaan Tinggi, Pemulihan Bencana.
integratedSecurity

Boolean
["true"|" false"]

salah
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 ketika 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

String
[<=128 karakter]

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 pesanan awal mereka dari resolusi DNS.
jaasConfigurationName

String

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

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

String

nihil
(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.

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

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

String

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

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

String

nihil
(Versi 8.4+) Ketika 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

String

nihil
(Versi 6.0+) Ketika keyStoreAuthentication=JavaKeyStorePassword, properti keyStoreSecret mengidentifikasi kata sandi yang akan digunakan untuk keystore dan kunci. Untuk 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

Boolean
["benar" | "false"]

benar
Nilai "true" hanya mengembalikan jumlah pembaruan terakhir dari pernyataan SQL yang diteruskan ke server, dan dapat digunakan pada pernyataan SELECT, INSERT, atau DELETE tunggal untuk mengabaikan jumlah pembaruan lain yang disebabkan oleh pemicu server. Mengatur properti ini ke "false" menyebabkan semua jumlah pembaruan dikembalikan, termasuk jumlah pembaruan ini yang dikembalikan oleh pemicu server.

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

int

-1
Jumlah milidetik untuk menunggu sebelum database melaporkan batas waktu kunci. Perilaku default adalah menunggu tanpa batas waktu. Jika ditentukan, nilai ini adalah default untuk semua pernyataan pada koneksi.

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

int
[0..65535]

30 (versi 11.2 ke atas)
15 (versi 10.2 ke bawah)
Jumlah detik driver harus menunggu sebelum waktu koneksi gagal. Nilai nol menunjukkan bahwa batas waktu adalah batas waktu sistem default, yaitu 30 detik secara default dalam versi 11.2 dan yang lebih tinggi dan 15 detik secara default dalam versi 10.2 dan yang lebih rendah. Nilai bukan nol adalah jumlah detik driver harus menunggu sebelum waktu koneksi gagal.

Jika Anda menentukan Nama Jaringan Virtual di properti Koneksi server, Anda harus menentukan nilai batas waktu tiga menit atau lebih untuk memungkinkan waktu yang memadai agar koneksi failover berhasil. Untuk informasi selengkapnya tentang pemulihan bencana, lihat dukungan driver JDBC untuk Ketersediaan Tinggi, pemulihan bencana.
maxResultBuffer

String

nihil
(Versi 9.2+) maxResultBuffer dapat digunakan untuk mengatur byte maksimum yang akan dibaca saat membaca kumpulan hasil. Jika tidak ditentukan, maka seluruh tataan hasil dibaca. Ukuran dapat ditentukan dalam dua gaya:
1. sebagai ukuran byte (misalnya, , 100, 150M300K, 400G)
2. sebagai persentase memori timbunan maksimum (misalnya, 10p, 15pct, 20percent).
msiClientId

String

nihil
(Tidak digunakan lagi) (Versi 7.2+) ID Klien identitas terkelola (MSI) yang digunakan untuk memperoleh accessToken untuk membuat koneksi dengan mode autentikasi ActiveDirectoryManagedIdentity atau ActiveDirectoryMSI .
multiSubnetFailover

Boolean

salah
Selalu tentukan multiSubnetFailover=true untuk terhubung ke pendengar grup ketersediaan grup ketersediaan SQL Server atau Instans Kluster Failover SQL Server. multiSubnetFailover=true mengonfigurasi driver untuk memberikan deteksi dan koneksi yang lebih cepat ke server aktif (saat ini). Nilai yang mungkin benar dan salah. Untuk informasi selengkapnya tentang pemulihan bencana, lihat Dukungan Driver JDBC untuk Ketersediaan Tinggi, Pemulihan Bencana.

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

Catatan: Dimulai dengan Microsoft JDBC Driver 6.0 untuk SQL Server, tidak lagi diperlukan untuk mengatur multiSubnetFailover ke "true" untuk terhubung ke pendengar grup ketersediaan. Properti baru, transparentNetworkIPResolution, yang diaktifkan secara default, menyediakan deteksi dan koneksi ke server aktif (saat ini).
packetSize

int
[-1 | 0 | 512..32767]

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 properti ini diatur ke nilai di luar rentang yang dapat diterima, pengecualian terjadi.

Penting: Menggunakan properti packetSize saat enkripsi diaktifkan (encrypt=true) tidak disarankan. Jika tidak, driver mungkin memunculkan kesalahan koneksi. Untuk informasi selengkapnya tentang properti ini, lihat metode setPacketSize dari kelas SQLServerDataSource .
kata sandi

String
[<=128 karakter]

nihil
Kata sandi database, jika koneksi dengan pengguna dan kata sandi SQL.
Untuk koneksi Kerberos dengan nama utama dan kata sandi, properti ini diatur ke kata sandi Utama Kerberos.

(Versi 10.2+) Saat autentikasi=ActiveDirectoryServicePrincipal, properti kata sandi mengidentifikasi kata sandi yang akan digunakan untuk perwakilan Direktori Aktif.
portNumber,
pelabuhan

int
[0..65535]

1433
Port tempat server mendengarkan. Jika nomor port ditentukan dalam string koneksi, tidak ada permintaan ke SQLbrowser yang dibuat. Ketika port dan instanceName ditentukan, koneksi dibuat ke port yang ditentukan. Namun, instanceName divalidasi dan kesalahan dilemparkan jika tidak cocok dengan port.

Penting: Disarankan agar nomor port selalu ditentukan, karena lebih aman daripada menggunakan SQLbrowser.
prepareMethod

String

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

Atur untuk mempersiapkan penggunaan sp_prepare sebagai metode persiapan. Ini menghasilkan perjalanan awal yang terpisah ke database untuk menyiapkan pernyataan tanpa nilai awal untuk dipertimbangkan 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.
queryTimeout

int

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

String

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

Boolean
["benar" | "false"]

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

String
["penuh" | "adaptif"]

Adaptif
Jika properti ini diatur ke "adaptif", data minimum yang mungkin di-buffer bila perlu. Mode defaultnya adalah "adaptif."

Jika properti ini diatur ke "penuh", seluruh tataan hasil dibaca dari server saat pernyataan dijalankan.

Catatan: Setelah driver JDBC versi 1.2, perilaku buffering default adalah "adaptif." Jika Anda ingin mempertahankan perilaku default versi 1.2 di aplikasi Anda, atur properti responseBufferring ke "penuh" baik di properti koneksi, atau gunakan metode setResponseBuffering objek SQLServerStatement .
pilihMethod

String
["langsung" | "kursor"]

langsung
Jika properti ini diatur ke "kursor," kursor database dibuat untuk setiap kueri yang dibuat pada koneksi untuk kursor TYPE_FORWARD_ONLY dan CONCUR_READ_ONLY . Properti ini biasanya diperlukan hanya jika aplikasi menghasilkan tataan hasil besar yang tidak dapat sepenuhnya terkandung dalam memori klien. Jika properti ini diatur ke "kursor," hanya sejumlah baris tataan hasil terbatas yang disimpan dalam memori klien.

Perilaku default adalah bahwa semua baris tataan hasil disimpan dalam memori klien. Perilaku ini memberikan performa tercepat ketika aplikasi memproses semua baris.
sendStringParameters...
AsUnicode

Boolean
["benar" | "false"]

benar
Jika properti sendStringParametersAsUnicode diatur ke "true", parameter String dikirim ke server dalam format Unicode.

Jika properti sendStringParametersAsUnicode diatur ke "false", parameter String dikirim ke server dalam format non-Unicode seperti ASCII/MBCS alih-alih Unicode.

Nilai default untuk properti sendStringParametersAsUnicode adalah "true".

Catatan: Properti sendStringParametersAsUnicode hanya diperiksa untuk mengirim nilai parameter dengan jenis CHAR, VARCHAR, atau LONGVARCHAR JDBC. Metode karakter nasional JDBC 4.0 baru, seperti metode setNString, setNCharacterStream, dan setNClob dari SQLServerPreparedStatement dan kelas SQLServerCallableStatement , selalu mengirim nilai parameter mereka ke server di Unicode apa pun 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 SQLServerPreparedStatement dan SQLServerCallableStatement .

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

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

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

Boolean
["benar" | "false"]

benar
(Versi 8.4+) Properti koneksi ini, ketika diatur ke "false", mengirimkan jenis data DATE, DATETIME, DATIMETIME2, DATETIMEOFFSET, SMALLDATETIME, dan TIME sebagai jenis masing-masing alih-alih mengirimkannya sebagai String.

Dengan properti koneksi ini diatur ke "false", driver menerima format literal string default dari setiap jenis data temporal, misalnya:

TANGGAL: 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
WAKTU: hh:mm:ss[.nnnnnnn]
sendTimeAsDatetime

Boolean
["benar" | "false"]

benar
Properti ini ditambahkan di Driver JDBC SQL Server 3.0.

Atur ke "true" untuk mengirim nilai java.sql.Time ke server sebagai nilai tanggalwaktu SQL Server.
Atur ke "false" untuk mengirim nilai java.sql.Time ke server sebagai nilai waktu SQL Server.

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

Untuk informasi selengkapnya tentang bagaimana Microsoft JDBC Driver untuk SQL Server mengonfigurasi nilai java.sql.Time sebelum mengirimkannya ke server, lihat Mengonfigurasi Cara Java.sql.Nilai Waktu Dikirim ke Server.
serverCertificate,
server

String

nihil
(Versi 11.2.0+) Jalur ke file sertifikat server. Digunakan untuk validasi saat menggunakan enkripsi diatur ke ketat. Driver mendukung file sertifikat menggunakan format file PEM.
serverName,
server

String

nihil
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, pemulihan bencana.
serverNameAsACE

Boolean
["benar" | "false"]

salah
(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 salah, driver menggunakan nama server sebagaimana disediakan untuk menyambungkan.

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

Bilangan bulat

10
(Versi 6.2+) Properti ini dapat digunakan untuk mengontrol berapa banyak tindakan pembuangan pernyataan yang disiapkan yang luar biasa (sp_unprepare) dapat menjadi luar biasa per koneksi sebelum panggilan untuk membersihkan handel yang luar biasa pada server dijalankan.

Jika properti ini diatur ke <= 1, tindakan unprepare segera dijalankan pada pernyataan yang disiapkan tutup. Jika diatur ke > 1, panggilan ini di-batch bersama-sama untuk menghindari overhead panggilan sp_unprepare terlalu sering.
serverSpn

String

nihil
(Versi 4.2+) Properti opsional ini dapat digunakan untuk menentukan Nama Perwakilan Layanan (SPN) untuk koneksi Java Kerberos. Ini digunakan dengan authenticationScheme.

Untuk menentukan SPN, dapat berupa: "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 Menggunakan autentikasi terintegrasi Kerberos untuk menyambungkan ke SQL Server.
socketFactoryClass

String

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

int

0
Jumlah milidetik untuk menunggu sebelum batas waktu terjadi pada soket yang dibaca atau diterima. Nilai defaultnya adalah 0, yang berarti batas waktu tak terbatas.
statementPooling...
CacheSize

int

0
(Versi 6.4+) Properti ini dapat digunakan untuk mengaktifkan pernyataan yang disiapkan menangani penembolokan pada driver.

Properti ini mendefinisikan ukuran cache untuk pengumpulan pernyataan.

Properti ini hanya dapat digunakan dengan properti koneksi disableStatementPooling , yang harus diatur ke "false". Mengatur disableStatementPooling ke "true" atau statementPoolingCacheSize ke 0 menonaktifkan pernyataan yang disiapkan menangani penembolokan.
sslProtocol

String

TLS
(Versi 6.4+) Properti ini dapat digunakan untuk menentukan protokol TLS yang akan dipertimbangkan selama koneksi aman.
Nilai yang mungkin adalah: TLS, TLSv1, TLSv1.1, dan TLSv1.2.

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

Boolean
["benar" | "false"]

benar
(Versi 6.0+) Properti ini menyediakan deteksi dan koneksi yang lebih cepat ke server aktif (saat ini). Nilai yang mungkin adalah "true" dan "false" di mana "true" adalah nilai default.

Sebelum Microsoft JDBC Driver 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 batas waktu saat menyambungkan ke Grup Ketersediaan AlwaysOn. Dengan versi 6.0 dan yang lebih baru, aplikasi tidak diperlukan untuk mengatur multiSubnetFailover ke true lagi.

Catatan: Ketika transparentNetworkIPResolution=true, upaya koneksi pertama menggunakan 500 mdtk sebagai batas waktu. Setiap upaya selanjutnya menggunakan logika batas waktu yang sama seperti yang digunakan oleh properti multiSubnetFailover.
trustManagerClass

String

nihil
(Versi 6.4+) Nama kelas yang sepenuhnya memenuhi syarat dari implementasi kustom javax.net.ssl.TrustManager .
trustManager...
ConstructorArg

String

nihil
(Versi 6.4+) Argumen opsional untuk diteruskan ke konstruktor TrustManager. Jika trustManagerClass ditentukan dan koneksi terenkripsi diminta, TrustManager kustom digunakan alih-alih TrustManager berbasis keystore JVM sistem default.
trustServerCertificate

Boolean
["benar" | "false"]

salah
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 ke 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: Properti ini digunakan dalam kombinasi dengan properti autentikasi enkripsi/. Properti ini hanya memengaruhi validasi sertifikat TLS/SSL server jika koneksi menggunakan enkripsi TLS.
trustStore

String

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

Ketika properti ini tidak ditentukan atau diatur ke null, driver bergantung pada aturan pencarian pabrik manajer kepercayaan untuk menentukan penyimpanan sertifikat mana yang akan digunakan.

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

File yang ditentukan oleh properti sistem JVM "javax.net.ssl.trustStore".

<java-home>/lib/security/jssecacerts File.

<java-home>/lib/security/cacerts File.



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

Catatan: Properti ini hanya memengaruhi pencarian trustStore sertifikat, jika koneksi menggunakan enkripsi TLS dan properti trustServerCertificate diatur ke "false".
trustStorePassword

String

nihil
Kata sandi yang digunakan untuk memeriksa integritas data trustStore.

Jika properti trustStore diatur tetapi properti trustStorePassword tidak diatur, integritas trustStore tidak diperiksa.

Ketika properti trustStore dan trustStorePassword tidak ditentukan, driver menggunakan properti sistem JVM, "javax.net.ssl.trustStore" dan "javax.net.ssl.trustStorePassword". Jika properti sistem "javax.net.ssl.trustStorePassword" tidak ditentukan, integritas trustStore tidak diperiksa.

Jika properti trustStore tidak diatur tetapi properti trustStorePassword diatur, driver JDBC menggunakan file yang ditentukan oleh "javax.net.ssl.trustStore" sebagai penyimpanan kepercayaan dan integritas penyimpanan kepercayaan diperiksa dengan menggunakan trustStorePassword yang ditentukan. Pengaturan ini diperlukan ketika aplikasi klien tidak ingin menyimpan kata sandi di properti sistem JVM.

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

String

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.
useBulkCopyFor...
BatchInsert

Boolean
["benar" | "false"]

salah
(Versi 9.2+) Properti koneksi ini dapat diaktifkan untuk secara transparan menggunakan API Salin Massal saat melakukan operasi penyisipan batch menggunakan java.sql.PreparedStatement. Fitur ini berpotensi memberikan performa yang jauh lebih tinggi saat diaktifkan.

Fitur ini dinonaktifkan secara default. Atur properti ini ke "true" untuk mengaktifkan fitur ini.

Catatan Penting: Fitur ini hanya mendukung kueri INSERT yang sepenuhnya diparameterkan. Jika kueri INSERT dikombinasikan dengan kueri SQL lainnya, atau 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

Boolean
["benar" | "false"]

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

Boolean
["benar" | "false"]

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

Boolean
["benar" | "false"]

benar
(Versi 12.6+) Ketika diatur ke true, memungkinkan pengaturan parameter pernyataan dilakukan dengan campuran indeks atau nama parameter apa pun. Juga memungkinkan pengaturan parameter ini dilakukan dalam urutan yang berbeda dari apa yang ada dalam definisi sproc. Kedua hal ini dimungkinkan melalui pencarian metadata parameter tambahan.

Ketika diatur ke false, pengaturan parameter harus dilakukan dengan indeks atau nama parameter, tetapi tidak keduanya bersama-sama. Mereka juga harus diatur dalam urutan yang sama seperti yang didefinisikan dalam definisi pernyataan yang disiapkan. Mengatur opsi ini ke false tidak memicu pencarian metadata tambahan yang disebutkan di atas.
useFmtOnly

Boolean
["benar" | "false"]

salah
(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 tidak disarankan untuk menggunakan properti ini seperti SET FMTONLY yang ditandai untuk penghentian. 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 . Mencoba menggunakan fitur ini dengan kueri yang tidak didukung/beberapa kueri menyebabkan driver mencoba mengurai kueri, tetapi kemungkinan besar akan menghasilkan pengecualian.

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

String
[<=128 karakter]

nihil
Pengguna database, jika koneksi dengan pengguna dan kata sandi SQL.

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

(Versi 10.2+) Saat autentikasi=ActiveDirectoryServicePrincipal, properti userName menentukan ID klien aman Azure Active Directory yang valid.
workstationID

String
[<=128 karakter]

<empty string>
ID stasiun kerja. Digunakan untuk mengidentifikasi stasiun kerja tertentu di berbagai alat pembuatan profil dan pengelogan.

Jika tidak ada yang ditentukan, digunakan <empty string> .
xopenStates

Boolean
["benar" | "false"]

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

Defaultnya adalah mengembalikan kode status SQL 99.

Catatan

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 AKTIF dan IMPLICIT_TRANSACTIONS nonaktif.

Penting

Jika autentikasi diatur ke ActiveDirectoryPassword, pustaka berikut perlu disertakan dalam classpath: microsoft-authentication-library-for-java. Ini dapat ditemukan di Repositori Maven. Cara paling sederhana untuk mengunduh pustaka dan dependensinya adalah dengan menggunakan Maven:

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

Baca juga

Koneksi ke SQL Server dengan driver JDBC
Mode FIPS