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 Propertimetode 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, 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 tidak divalidasi oleh driver JDBC untuk sensitivitas huruf besar/kecil.

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

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

String

ReadWrite
(Versi 6.0+) Menyatakan jenis beban kerja aplikasi untuk menyambungkan 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]

null
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, ActiveDirectoryMSI (versi 7.2+), ActiveDirectoryInteractive (versi 9.2+), ActiveDirectoryServicePrincipal (versi 9.2+), SqlPassword, dan Default NotSpecified.

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

Gunakan ActiveDirectoryPassword (versi 6.0+) untuk menyambungkan ke database SQL menggunakan nama prinsipal dan kata sandi Azure AD.

Gunakan ActiveDirectoryMSI (versi 7.2+) untuk menyambungkan ke database SQL dari dalam Sumber Daya Azure. Misalnya, Azure Virtual Machine, App Service atau Aplikasi Fungsi menggunakan autentikasi Identitas Terkelola (MSI).

Dua jenis Identitas Terkelola yang didukung oleh driver saat menggunakan mode autentikasi 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 (MSI) ditentukan dengan properti koneksi msiClientId .

Gunakan ActiveDirectoryInteractive untuk menyambungkan ke database SQL menggunakan alur autentikasi interaktif.

Gunakan ActiveDirectoryServicePrincipal (versi 9.2+) untuk menyambungkan ke database SQL 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 database SQL menggunakan propertipengguna dan kata sandiuserName/.

Gunakan Tidak Ditentukan jika tidak ada metode autentikasi ini yang diperlukan.

Penting: Jika autentikasi diatur ke ActiveDirectoryIntegrated, dua pustaka berikut harus diinstal: .dllmssql-jdbc_auth-version-arch<><> (tersedia dalam paket driver JDBC) dan Microsoft Authentication Library untuk SQL Server (ADAL.DLL). Pustaka Autentikasi Microsoft dapat diinstal dari Driver Microsoft ODBC untuk SQL Server atau Driver Microsoft OLE DB 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 Azure Active Directory, lihat Menyambungkan ke SQL Database Dengan Menggunakan Autentikasi Azure Active Directory.
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 diberi nama 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).
cancelQueryTimeout

int

-1
(Versi 6.4+) Properti ini dapat digunakan untuk membatalkan set queryTimeout pada koneksi. Eksekusi kueri macet dan tidak memberikan 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

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

String

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

null
(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 database Azure SQL.
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]

null
Nama database yang akan disambungkan.

Jika tidak dinyatakan, koneksi dibuat ke database default.
datetimeParameterType

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

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

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

boolean
["true" | "false"]

TRUE
Benderai 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
null
(Versi 7.4+) Domain Windows untuk diautentikasi saat menggunakan autentikasi NTLM.
disableStatementPooling

boolean
["true" | "false"]

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

boolean
["true" | "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

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

Untuk informasi selengkapnya tentang Always Encrypted dengan enklave aman, lihat Always Encrypted dengan enklave aman.
enclaveAttestationProtocol

String

null
(Versi 8.2+) Properti opsional ini menunjukkan protokol pengesahan yang 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

null
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 ke atas dan "false" dalam 9.4 ke bawah.

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'.

Di versi 11.2.0 ke atas, enkripsi telah diubah dari boolean ke string, memungkinkan dukungan TDS 8.0 saat properti diatur ke ketat.
failoverPartner

String

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

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, pemulihan bencana
fips

boolean
["true" | "false"]

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

String

null
Penyedia FIPS dikonfigurasi di JVM. Misalnya, BCFIPS atau SunPKCS11-NSS. Dihapus di versi 6.4.0 -- lihat detailnya Di sini.
gsscredential

org.ietf.jgss.GSSCredential

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

Ini harus digunakan dengan integratedSecurity sebagai true dan JavaKerberos sebagai authenticationScheme.
hostNameInCertificate

String

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

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 TLS/SSL SQL Server.

Catatan: Properti ini digunakan dalam kombinasi dengan propertiautentikasienkripsi/ dan properti trustServerCertificate. Properti ini mempengaruhi 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]

null
Nama instans database untuk disambungkan. Ketika tidak ditentukan, koneksi dibuat ke instans default. Untuk kasus di mana instanceName dan port ditentukan, 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, 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 akan melintasi alamat IPv4 terlebih dahulu. Jika tidak ada alamat IPv4 yang berhasil disambungkan, driver melanjutkan dan mencoba alamat IPv6, jika ada.

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

Dengan UsePlatformDefault, driver akan melintasi semua alamat IP dalam pesanan awal mereka dari resolusi DNS.
jaasConfigurationName

String

SQLJDBCDriver
(Versi 6.2+) Setiap koneksi ke SQL Server dapat memiliki file Konfigurasi Masuk JAAS sendiri untuk membuat koneksi Kerberos. Nama file Konfigurasi Masuk JAAS dapat diteruskan melalui properti ini.
Secara default, driver diatur useDefaultCcache = true untuk IBM JVM, dan useTicketCache = true untuk JVM lainnya.
keyStoreAuthentication

String

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.

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

null
(Versi 6.0+) Saat 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

null
(Versi 8.4+) Saat keyStoreAuthentication=KeyVaultManagedIdentity, properti keyStorePrincipalId menentukan ID klien aplikasi Azure Active Directory yang valid.

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

String

null
(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
["true" | "false"]

TRUE
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 ketika 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 mengakibatkan bagian dari eksekusi pemicu.
lockTimeout

int

-1
Jumlah milidetik untuk menunggu sebelum database melaporkan batas waktu penguncian. Perilaku default adalah menunggu tanpa batas waktu. Jika ditentukan, nilai ini adalah default untuk semua pernyataan pada koneksi. Statement.setQueryTimeout() dapat digunakan untuk mengatur waktu habis untuk pernyataan tertentu. Nilainya bisa 0, yang menentukan tidak ada tunggu.
loginTimeout

int
[0..65535]

15
Jumlah detik driver harus menunggu sebelum waktu koneksi gagal. Nilai nol menunjukkan bahwa batas waktu adalah batas waktu sistem default, yang ditentukan sebagai 15 detik secara default. Nilai bukan nol adalah jumlah detik yang harus ditunggu driver sebelum waktu koneksi gagal.

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

String

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

String

null
(Versi 7.2+) ID Klien Identitas Terkelola (MSI) yang digunakan untuk memperoleh accessToken untuk membuat koneksi dengan mode autentikasi 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 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 (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]

null
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,
port

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 keduanya 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 bersiap menggunakan sp_prepare sebagai metode persiapan. Ini menghasilkan perjalanan awal yang terpisah ke database untuk menyiapkan pernyataan tanpa nilai awal bagi database 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

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

boolean
["true" | "false"]

salah
(Versi 9.4+) Pengaturan ini memberi tahu server jika koneksi digunakan untuk replikasi. Saat diaktifkan, pemicu dengan NOT FOR REPLICATION opsi tidak akan 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 meningkatkan driver JDBC dari versi 1.2, perilaku buffering default akan menjadi "adaptif." Jika Anda ingin mempertahankan perilaku default versi 1.2 di aplikasi Anda, Anda harus mengatur properti responseBufferring ke "penuh" baik di properti koneksi, atau menggunakan metode setResponseBuffering objek SQLServerStatement .
selectMethod

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
["true" | "false"]

TRUE
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 SQLServerPreparedStatement dan SQLServerCallableStatement , selalu mengirim nilai parameter mereka ke server di Unicode apa pun pengaturan properti ini.

Untuk performa optimal dengan jenis data CHAR, VARCHAR, dan LONGVARCHAR JDBC, 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.
sendTemporalDataTypesAsStringForBulkCopy

boolean
["true" | "false"]

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

Dengan properti koneksi ini diatur ke "false", driver hanya akan 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
["true" | "false"]

TRUE
Properti ini ditambahkan dalam SQL Server Driver JDBC 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 "true" 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 Mengonfigurasi Cara Nilai java.sql.Time Dikirim ke Server.
serverCertificate,
server

String

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

null
Komputer yang menjalankan SQL Server atau database Azure SQL.

Anda juga dapat menentukan Nama Virtual Network grup ketersediaan. Untuk informasi selengkapnya tentang pemulihan bencana, lihat dukungan driver JDBC untuk Ketersediaan Tinggi, pemulihan bencana.
serverNameAsACE

boolean
["true" | "false"]

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

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

Bilangan bulat

10
(Versi 6.2+) Properti ini dapat digunakan untuk mengontrol berapa banyak tindakan buang 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 dikumpulkan bersama-sama untuk menghindari overhead panggilan sp_unprepare terlalu sering.
serverSpn

String

null
(Versi 4.2+) Properti opsional ini dapat digunakan untuk menentukan Nama Prinsipal 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 realm 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

null
(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 di 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
["true" | "false"]

TRUE
(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 waktu habis 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 ms sebagai batas waktu. Setiap upaya selanjutnya menggunakan logika batas waktu yang sama seperti yang digunakan oleh properti multiSubnetFailover.
trustManagerClass

String

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

String

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

boolean
["true" | "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 memunculkan 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 propertiautentikasienkripsi/. Properti ini hanya memengaruhi validasi sertifikat TLS/SSL server jika koneksi menggunakan enkripsi TLS.
trustStore

String

null
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".

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

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



Untuk informasi selengkapnya tentang SUNX509 TrustManager Interface, lihat dokumentasi SUNX509 TrustManager Interface 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

null
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
["true" | "false"]

salah
(Versi 9.2+) Properti koneksi ini dapat diaktifkan untuk secara transparan menggunakan Bulk Copy API 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 berparameter. Jika kueri INSERT digabungkan oleh 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
useFmtOnly

boolean
["true" | "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 akan 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]

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

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

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

String
[<=128 karakter]

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

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

boolean
["true" | "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 ke 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

Lihat juga

Menyambungkan ke SQL Server dengan driver JDBC
Mode FIPS