Bağlantı özelliklerini ayarlama
JDBC sürücüsünü indirin
Bağlantı dizesi özellikleri çeşitli yollarla belirtilebilir:
DriverManager sınıfını kullanarak bağlandığınızda bağlantı URL'sinde name=value özellikleri olarak. Bağlantı dizesi söz dizimi için bkz. Bağlantı URL'sini oluşturma.
DriverManager sınıfındaki
Connect yönteminin Özellikler parametresinde name=value özellikleri olarak.sürücüsünün
veri kaynağının uygun ayarlayıcı yöntemindeki değerler olarak. Örneğin: datasource.setServerName(value) datasource.setDatabaseName(value)
Açıklamalar
Özellik adları büyük/küçük harfe duyarlı değildir ve yinelenen özellik adları aşağıdaki sırayla çözümlenir:
- API bağımsız değişkenleri (kullanıcı ve parola gibi)
- Özellik koleksiyonu
- Bağlantı dizesindeki son örnek
Özellik adları için bilinmeyen değerlere izin verilir ve JDBC sürücüsü büyük/küçük harf duyarlılığı açısından doğrulama yapmaz.
Eş anlamlılara izin verilir ve aynı yinelenen özellik adları gibi sırayla çözümlenir.
Özellikler
Aşağıdaki tabloda, JDBC sürücüsü için şu anda kullanılabilir olan tüm bağlantı dizesi özellikleri listelenir.
Mülk Tür Varsayılan |
Açıklama |
---|---|
accessToken Dizgi sıfır |
(Sürüm 6.0+) Erişim belirteci kullanarak veritabanına bağlanmak için bu özelliği kullanın. accessToken bağlantı URL'si kullanılarak ayarlanamaz. |
accessTokenCallbackClass Dizgi sıfır |
(Sürüm 12.4+) Erişim belirteci geri çağırma ile kullanılacak geri çağırma uygulayan sınıfın adı. |
applicationIntent Dizgi OkumaYazma |
(Sürüm 6.0+) Sunucuya bağlanmak için uygulama iş yükü türünü bildirir. Olası değerler ReadOnly ve ReadWrite. Olağanüstü durum kurtarma hakkında daha fazla bilgi için bkz. Yüksek Kullanılabilirlik, olağanüstü durum kurtarmaiçin |
uygulamaAdı Dizgi [<=128 karakter] sıfır |
Uygulama adı, veya herhangi bir ad sağlanmamışsa "SQL Server için Microsoft JDBC Sürücüsü". Çeşitli SQL Server profil oluşturma ve günlüğe kaydetme araçlarında belirli bir uygulamayı tanımlamak için kullanılır. |
kimlik doğrulama Dizgi Belirtilmemiş |
(Sürüm 6.0+) Bu isteğe bağlı özellik, bağlantı için hangi kimlik doğrulama yönteminin kullanılacağını gösterir.
Olası değerler ActiveDirectoryIntegrated, ActiveDirectoryPassword, ActiveDirectoryManagedIdentity (sürüm 12.2+), ActiveDirectoryMSI (sürüm 7.2+), ActiveDirectoryInteractive (sürüm 9.2+), ActiveDirectoryServicePrincipal (sürüm 9.2+), SqlPasswordve varsayılan NotSpecified. Tümleşik Windows kimlik doğrulamasını kullanarak SQL'e bağlanmak için ActiveDirectoryIntegrated (sürüm 6.0+) kullanın. Microsoft Entra asıl adını ve parolasını kullanarak SQL'e bağlanmak için ActiveDirectoryPassword (sürüm 6.0+) kullanın. Azure Kaynağı içinden SQL'e bağlanmak için ActiveDirectoryManagedIdentity (sürüm 12.2+) veya ActiveDirectoryMSI (sürüm 7.2+) kullanın. Örneğin, yönetilen kimlik kimlik doğrulaması kullanan bir Azure Sanal Makinesi, App Service veya İşlev Uygulaması. ActiveDirectoryManagedIdentity veya ActiveDirectoryMSI kimlik doğrulama modu kullanılırken sürücü tarafından desteklenen iki yönetilen kimlik türü şunlardır: 1. System-Assigned Yönetilen Kimlik: varsayılan olarak accessToken almak için kullanılır. 2. User-Assigned Yönetilen Kimlik: Eğer bir yönetilen kimliğin İstemci Kimliği msiClientId bağlantı özelliğiyle belirtilmişse, accessToken almak için kullanılır. Etkileşimli kimlik doğrulama akışı kullanarak bir veritabanına bağlanmak için ActiveDirectoryInteractive kullanın. İstemci kimliğini ve hizmet ilkesi kimliğinin gizli anahtarını kullanarak bir veritabanına bağlanmak için ActiveDirectoryServicePrincipal (sürüm 9.2+) kullanın. userName özelliğinde istemci kimliğini ve parola özelliğinde gizli anahtarı (10.2+) belirtin. SqlPassword kullanarak userName/kullanıcı ve şifre özellikleri ile SQL'e bağlanın. Bu kimlik doğrulama yöntemlerinden hiçbiri gerekli değilse NotSpecified kullanın. Önemli: Kimlik doğrulaması ActiveDirectoryIntegrated olarak ayarlandıysa, aşağıdaki iki kitaplık yüklenmelidir: mssql-jdbc_auth-<sürüm>-<arch>.dll (JDBC sürücü paketinde bulunur) ve SQL Server için Microsoft Kimlik Doğrulama Kitaplığı (ADAL.DLL). Microsoft Kimlik Doğrulama Kitaplığı, SQL Server için Not: Kimlik doğrulama özelliği NotSpecifieddışında bir değere ayarlandığında, sürücü varsayılan olarak daha önce Güvenli Yuva Katmanı (SSL), şifreleme olarak bilinen Aktarım Katmanı Güvenliği 'ni (TLS) kullanır. Microsoft Entra kimlik doğrulamasını yapılandırma hakkında bilgi için bkz. Microsoft Entra kimlik doğrulamasıkullanma . |
kimlik doğrulama şeması Dizgi NativeAuthentication |
Uygulamanızın hangi tür tümleşik güvenlik kullanmasını istediğinizi gösterir. Olası değerler JavaKerberos, NTLM (sürüm 7.4+) ve varsayılan NativeAuthentication. NativeAuthentication, sürücünün tümleşik kimlik doğrulama bilgilerini almak için kullanılan Windows'ta mssql-jdbc_auth-<version>-<arch>.dll (örneğin, mssql-jdbc_auth-8.2.2.x64.dll ) yüklemesine neden olur. (Yüklenen yerel kimlik doğrulama kitaplığı, 6.0 ile 7.4 arası sürücü sürümleri kullanılırken sqljdbc_auth.dll olarak adlandırılır.) authenticationScheme=JavaKerberoskullanırken, serverName veya serverSpn özelliğinde tam etki alanı adını (FQDN) belirtmeniz gerekir. Aksi takdirde bir hata oluşur (Sunucu Kerberos veritabanında bulunamadı). authenticationScheme=JavaKerberoskullanma hakkında daha fazla bilgi için bkz. SQL Server'a bağlanmak için Kerberos tümleşik kimlik doğrulamasını kullanma. authenticationScheme=NTLMkullanırken, Windows etki alanını etki alanı veya etki alanı adı özelliğini, Windows kimlik bilgilerini ise kullanıcı veya kullanıcı adı özelliğini ve parola özelliğini kullanarak belirtmeniz gerekir. Aksi takdirde bir hata oluşur (bağlantı özellikleri belirtilmelidir). |
cacheBulkCopyMetadata Boolean ["doğru" | "yanlış"] yanlış |
(Sürüm 12.8+) kullanırkenBulkCopyForBatchInsert=truekullanırken, bu özellik sürücüye hedef sütun meta verilerini bağlantı düzeyinde önbelleğe alıp almaması gerektiğini bildirmek için kullanılır.
true olarak ayarlanmışsa, sürücünün bu değişikliği sağlayacak bir yolu olmadığından, hedefin toplu eklemeler arasında değişmediğinden emin olun. |
calcBigDecimalPrecision Boolean ["doğru" | "yanlış"] yanlış |
(Sürüm 12.6+) Duyarlık için izin verilen maksimum değeri (38) kullanmak yerine, sürücünün BigDecimal girişler için duyarlık hesaplayıp hesaplamayacağını belirten bayrak. |
cancelQueryTimeout Int -1 |
(Sürüm 6.4+) Bu özellik, bağlantıda ayarlanan bir queryTimeout iptal etmek için kullanılabilir. Sunucuya yönelik TCP bağlantısı sessizce bırakıldığında sorgu yürütmesi askıda kalıyor ve özel durum fırlatmıyor. Bu özellik yalnızca bağlantıda 'queryTimeout' da ayarlandıysa geçerlidir. Sürücü, bağlantıyı kesmek ve kanalı kapatmak için toplam cancelQueryTimeout + queryTimeout saniye boyunca bekler. Bu özelliğin varsayılan değeri -1 ve davranış süresiz olarak beklemektir. |
istemci sertifikası Dizgi sıfır |
(Sürüm 8.4+) İstemci sertifikası kimlik doğrulaması için kullanılacak sertifikanın konumunu belirtir. JDBC sürücüsü PFX, PEM, DER ve CER dosya uzantılarını destekler. Ayrıntılar için bkz. Geri Döngü Senaryoları için İstemci Sertifikası Kimlik Doğrulaması. |
clientKey Dizgi sıfır |
(Sürüm 8.4+) clientCertificate özniteliği tarafından belirtilen PEM, DER ve CER sertifikaları için özel anahtarın konumunu belirtir. Ayrıntılar için bkz. Geri Döngü Senaryoları için İstemci Sertifikası Kimlik Doğrulaması. |
istemciAnahtarıŞifresi Dizgi sıfır |
(Sürüm 8.4+) clientKey dosyasının özel anahtarına erişmek için isteğe bağlı parola dizesini belirtir. Ayrıntılar için bkz. Geri Döngü Senaryoları için İstemci Sertifikası Kimlik Doğrulaması. |
sütunŞifrelemeAyarı Dizgi ["Etkin" | "Devre Dışı"] Sakat |
(Sürüm 6.0+) Always Encrypted (AE) özelliğini kullanmak için "Etkin" olarak ayarlayın. AE etkinleştirildiğinde, JDBC sürücüsü sunucudaki şifrelenmiş veritabanı sütunlarında depolanan hassas verileri saydam bir şekilde şifreler ve şifresini çözer. Always Encrypted hakkında daha fazla bilgi için bkz. JDBC sürücüsüyle Always Encrypted kullanma. Not: Always Encrypted, SQL Server 2016 veya üzeri ve Azure SQL Veritabanı ile kullanılabilir. |
BağlantıYenidenDeneSayısı Int [0..255] 1 |
(Sürüm 9.4+) Bağlantı hatası olduğunda yeniden bağlanma denemelerinin sayısı. |
YenidenBağlanmaAralığı Int [1..60] 10 |
(Sürüm 9.4+) Her bağlantı yeniden deneme girişimi arasındaki saniye sayısı. |
veritabanıAdı veritabanı Dizgi [<=128 karakter] sıfır |
Bağlanacak veritabanının adı. Belirtilmemişse, varsayılan veritabanına bir bağlantı yapılır. |
tarihSaatParametreTürü Dizgi ["datetime" | "datetime2" | "datetimeoffset"] datetime2 |
(Sürüm 12.2+) Java tarih/zaman damgası parametreleri için kullanılacak SQL veri türü. Sql Server 2016 veya üzeri bir sürüme bağlanıldığında ve eski "datetime" değerleriyle etkileşim kurduğunda, istemciler özelliği "datetime" olarak ayarlamaktan yararlanabilir. Bu ayar, "datetime" ve "datetime2" değerleri arasındaki sunucu tarafı dönüştürme sorunlarını azaltır. Daha fazla bilgi için bkz. SQL Server 2016'dan başlayarak tarih-saatten datetime2'ye dönüşüm davranışı değişikliğini ele almak |
Lob'ları Yüklemede Gecikme Boolean ["doğru" | "yanlış"] doğru |
ResultSet'ten alınan tüm LOB nesnelerinin akışla aktarılıp aktarılmayacağını belirten bayrak. Bu özelliğin "false" olarak ayarlanması, akış olmadan LOB nesnesinin tamamını belleğe yükler. |
alan adı alan Dizgi sıfır |
(Sürüm 7.4+) NTLM kimlik doğrulaması yapılacak Windows etki alanı. |
bildirim havuzlamayı devre dışı bırak Boolean ["doğru" | "yanlış"] doğru |
İşaret, ifade biriktirme işleminin kullanılıp kullanılmayacağını belirler. |
enablePrepareOnFirst... Hazır Bildirim Çağrısı Boolean ["doğru" | "yanlış"] yanlış |
Bir hazırlanmış ifadenin ilk yürütülmesinde sp_prepexec 'ı çağırarak hazırlanmış ifade tanıtıcısı oluşturmayı etkinleştirmek için "true" olarak ayarlayın. İlk çalıştırmada bir deyimin hazırlanmasını engelleyip sp_executesql çağrısı yapılmasını sağlamak için "false" olarak ayarlayın. İkinci bir yürütme gerçekleşirse, hazırlanmış ifade tutucusunu ayarlamak için sp_prepexec 'ı çağırır. |
enclaveAttestationUrl Dizgi sıfır |
(Sürüm 8.2+) Bu isteğe bağlı özellik, güvenli kuşatmalarla Always Encrypted için kullanılacak kanıtlama hizmeti uç noktası URL'sini gösterir. Güvenli kuşatmalarla Always Encrypted hakkında daha fazla bilgi için bkz. Güvenli kuşatmalarla Always Encrypted. |
Enklev Doğrulama Protokolü Dizgi sıfır |
(Sürüm 8.2+) Bu isteğe bağlı özellik, güvenli kuşatmalarla Always Encrypted için kullanılacak kanıtlama protokolünü gösterir. Şu anda bu alan için desteklenen tek değerler HGS, AASve NONE (NONE yalnızca sürüm 11.2+ sürümünde desteklenir). Güvenli kuşatmalarla Always Encrypted hakkında daha fazla bilgi için bkz. Güvenli kuşatmalarla Always Encrypted. |
şifrelemek Dizgi sıfır |
Sunucuda yüklü bir sertifika varsa, SQL Server'ın istemci ile sunucu arasında gönderilen tüm veriler için TLS şifrelemesi kullanmasını sağlamak üzere "true" olarak ayarlayın. Varsayılan değer 10.2 ve sonraki sürümlerde "true" ve 9.4 ve önceki sürümlerde "false" değeridir. Sürüm 6.0 ve sonrasında, varsayılan olarak TLS şifrelemesi kullanan yeni bir 'kimlik doğrulaması' bağlantı ayarı vardır. Bu özellik hakkında daha fazla bilgi için 'authentication' özelliğine bakın. Sürüm 11.2.0 ve sonraki sürümlerde, şifreleme, boole türünden dizetürüne değiştirildi; bu da özellik katıolarak ayarlandığında TDS 8.0 desteğine izin verir. |
failoverPartner Dizgi sıfır |
Veritabanı yansıtma yapılandırmasında kullanılan yük devretme sunucusunun adı. Bu özellik, asıl sunucuya ilk bağlantı hatası için kullanılır. İlk bağlantıyı yaptıktan sonra bu özellik yoksayılır. databaseName özelliğiyle kullanılmalıdır. Not: Sürücü, bağlantı dizesindeki failoverPartner özelliğinin bir parçası olarak yük devretme iş ortağı örneğinin sunucu örneği bağlantı noktası numarasını desteklemez. Ancak sürücü, aynı bağlantı dizesinde asıl sunucu örneğinin serverName, instanceName ve portNumber özelliklerini ve yük devretme iş ortağı örneğinin failoverPartner özelliğini belirtmeyi destekler. Sunucusu bağlantı özelliğinde bir Sanal Ağ Adı belirtirseniz, veritabanı yansıtmayı kullanamazsınız. Olağanüstü durum kurtarma hakkında daha fazla bilgi için bkz. Yüksek Kullanılabilirlik için JDBC sürücü desteği, olağanüstü durum kurtarma |
fips Boolean ["doğru" | "yanlış"] yanlış |
FIPS özellikli Java Sanal Makinesi (JVM) için bu özellik true |
fipsProvider Dizgi sıfır |
JVM'de yapılandırılmış FIPS sağlayıcısı. Örneğin, BCFIPS veya SunPKCS11-NSS. Sürüm 6.4.0'da kaldırıldı. Daha fazla bilgi için bkz. GitHub sorunu 460. |
gsscredential org.ietf.jgss.GSSCredential sıfır |
(Sürüm 6.2+) Kerberos Kısıtlanmış Temsili için kullanılacak kullanıcı kimlik bilgileri bu özellikte geçirilebilir. Bu ayar, true |
SertifikadakiAlanAdi Dizgi sıfır |
SQL Server TLS/SSL sertifikasını doğrulamak için kullanılacak ana bilgisayar adı. hostNameInCertificate seçeneği, sertifikada kullanılan adın veya adların serverName özelliğine geçirilen adla eşleşmediği durumlarda konak adını belirtmek için kullanılabilir. Ancak bir eşleşme varsa hostNameInCertificate seçeneği kullanılmamalıdır. hostNameInCertificate özelliğinin belirtilmemiş veya null olarak ayarlandığı durumlarda, SQL Server için Microsoft JDBC Sürücüsü, SQL Server TLS/SSL sertifikasını doğrulamak için bağlantı URL'sindeki serverName özellik değerini konak adı olarak kullanır. Not: Önceki paragrafta açıklandığı gibi, sertifikada adı veya adları doğrulayamazsanız hostNameInCertificate seçeneğinin serverName seçeneğinde geçirilen adlarla eşleşmediği sürece ayarlanması önerilmez. |
instanceName Dizgi [<=128 karakter] sıfır |
Bağlanacak veritabanı örneği adı. Belirtilmediğinde, varsayılan örneğe bir bağlantı yapılır. Hem instanceName hem de bağlantı noktasının belirtildiği durum için bağlantı noktası notları konusuna bakın. Sunucusu bağlantı özelliğinde bir Sanal Ağ Adı belirtirseniz, instanceName bağlantı özelliğini kullanamazsınız. Olağanüstü durum kurtarma hakkında daha fazla bilgi için bkz. Yüksek Kullanılabilirlik için JDBC Sürücü Desteği, Olağanüstü Durum Kurtarma. |
Entegre Güvenlik Boolean ["doğru" | "yanlış"] yanlış |
Windows kimlik bilgilerinin Windows işletim sistemlerinde SQL Server tarafından kullanıldığını belirtmek için "true" olarak ayarlayın. "True" ise, JDBC sürücüsü yerel bilgisayar kimlik bilgisi önbelleğinde bir kullanıcı bilgisayarda veya ağda oturum açtığında sağlanan kimlik bilgilerini arar. Kerberos kimlik bilgilerinin SQL Server tarafından kullanıldığını belirtmek için "true" (authenticationscheme=JavaKerberos NTLM kimlik bilgilerinin SQL Server tarafından kullanıldığını belirtmek için "true" (authenticationscheme=NTLM "False" ise, kullanıcı adı ve parola sağlanmalıdır. |
IP adresi tercihi Dizgi [<=128 karakter] IPv4First |
İstemci uygulaması tarafından kullanılan IP tercihi. IPV4Firstile, sürücü önce IPv4 adreslerini tarar. Hiçbir IPv4 adresi başarıyla bağlanamıyorsa, sürücü devam eder ve varsa IPv6 adreslerini dener. IPV6Firstile sürücü IPv6 adreslerini önce işler. Hiçbir IPv6 adresi başarıyla bağlanamıyorsa, sürücü devam eder ve varsa IPv4 adreslerini dener. UsePlatformDefaultile sürücü, ilk siparişlerindeki tüm IP adreslerini DNS çözümlemesinden geçirmektedir. |
jaasConfigurationName Dizgi SQLJDBCDriver |
(Sürüm 6.2+) SQL Server'a yapılan her bağlantı, kerberos bağlantısı kurmak için kendi JAAS Oturum Açma Yapılandırması adını kullanabilir. Yapılandırma girdisinin adı bu özellik aracılığıyla geçirilebilir. Bu özellik, bir Kerberos yapılandırma dosyasıoluştururken SQLJDBCDriver adını arar.Dış yapılandırma bulunamazsa, sürücü IBM JVM'leri için useDefaultCcache = true ve diğer JVM'ler için useTicketCache = true ayarlar. |
anahtar deposu kimlik doğrulama Dizgi sıfır |
(Sürüm 6.0+) Bu özellik, Always Encrypted ile kullanılacak anahtar depoyu tanımlar ve anahtar deposunda kimlik doğrulaması yapmak için kullanılan bir kimlik doğrulama mekanizmasını belirler. Sürücü, "keyStoreAuthentication=JavaKeyStorePassword" ayarladığınızda Java Key Store'un sorunsuz bir şekilde ayarlanmasını destekler. Bu özelliği kullanmak için Java Anahtar Deposu için keyStoreLocation ve keyStoreSecret özelliklerini de ayarlamanız gerekir. Always Encrypted hakkında daha fazla bilgi için bkz. JDBC sürücüsüyle Always Encrypted kullanma. Microsoft JDBC Sürücüsü 8.4'den başlayarak, Yönetilen Kimlikleri kullanarak Azure Key Vault'ta kimlik doğrulaması yapmak için "keyStoreAuthentication=KeyVaultManagedIdentity" veya "keyStoreAuthentication=KeyVaultClientSecret" ayarlayabilirsiniz. Always Encrypted hakkında daha fazla bilgi için bkz. JDBC sürücüsüyle Always Encrypted kullanma. |
AnahtarDepoKonumu Dizgi sıfır |
(Sürüm 6.0+) keyStoreAuthentication=JavaKeyStorePasswordolduğunda, keyStoreLocation özelliği, Always Encrypted verileriyle kullanılacak Sütun Ana Anahtarını depolayan Java keystore dosyasının yolunu tanımlar. Yol, keystore dosya adını içermelidir. Always Encrypted hakkında daha fazla bilgi için bkz. JDBC sürücüsüyle Always Encrypted kullanma. |
keyStorePrincipalId Dizgi sıfır |
(Sürüm 8.4+) keyStoreAuthentication=KeyVaultManagedIdentityolduğunda, keyStorePrincipalId özelliği geçerli bir Microsoft Entra uygulaması istemci kimliği belirtir. Always Encrypted hakkında daha fazla bilgi için bkz. JDBC sürücüsüyle Always Encrypted kullanma. |
keyStoreSecret Dizgi sıfır |
(Sürüm 6.0+) keyStoreAuthentication=JavaKeyStorePassword, keyStoreSecret özelliği anahtar deposu ve anahtar için kullanılacak parolayı tanımlar. Java Anahtar Deposu kullanılırken anahtar deposu ve anahtar parolası aynı olmalıdır. Always Encrypted hakkında daha fazla bilgi için bkz. JDBC sürücüsüyle Always Encrypted kullanma. |
sonGüncellemeSayısı Boolean ["doğru" | "yanlış"] doğru |
"True" değeri yalnızca sunucuya geçirilen bir SQL deyiminden son güncelleştirme sayısını döndürür. Ayrıca, sunucu tetikleyicilerinin neden olabileceği diğer güncelleme sonuçlarını yoksayarak, yalnızca tekil SELECT, INSERT veya DELETE ifadeleri için kullanılır. "Bu özelliği 'false' olarak ayarlamak, sunucu tetikleyicileri tarafından döndürülen güncelleme sayıları da dahil olmak üzere tüm güncelleme sayılarının geri döndürülmesine neden olur." Not: Bu özellik yalnızca executeUpdate yöntemleriyle kullanıldığında geçerlidir. Diğer tüm yürütme yöntemleri tüm sonuçları ve güncelleştirme sayılarını döndürür. Bu özellik yalnızca sunucu tetikleyicileri tarafından döndürülen güncelleştirme sayısını etkiler. Tetikleyici yürütmesinin bir parçası olarak sonuç veren sonuç kümelerini veya hataları etkilemez. |
lockTimeout Int -1 |
Veritabanı bir kilit zaman aşımı bildirmeden önce beklenebilmesi için gereken milisaniye sayısı. Varsayılan davranış süresiz beklemektir. Kullanıcı bu özellik için bir değer belirtmediyse, bu değer bağlantıdaki tüm deyimler için varsayılan değerdir. Alternatif olarak, Statement.setQueryTimeout(), belirli deyimler için sorgu zaman aşımını ayarlamak için kullanılabilir. Değer, bekleme olmadığını belirten 0 olabilir. |
giriş zaman aşımı Int [0..65535] 30 (sürüm 11.2 ve daha yeni) 15 (sürüm 10.2 ve altı) |
Başarısız bir bağlantının zaman aşımına uğramasından önce sürücünün beklemesi gereken saniye sayısı. Sıfır değeri, zaman aşımının varsayılan sistem zaman aşımı olduğunu gösterir. Bu değer 30 saniye (sürüm 11.2 ve üzeri için varsayılan) veya 15 saniyedir (sürüm 10.2 ve altındaki varsayılan değer). Sıfır olmayan bir değer, başarısız bir bağlantının zaman aşımına uğraması için sürücünün beklemesi gereken saniye sayısıdır. Sunucusu bağlantı özelliğinde bir Sanal Ağ Adı belirtirseniz, yük devretme bağlantısının başarılı olması için yeterli süreye izin vermek için üç dakika veya daha fazla zaman aşımı değeri belirtmeniz gerekir. Olağanüstü durum kurtarma hakkında daha fazla bilgi için bkz. Yüksek Kullanılabilirlik, olağanüstü durum kurtarmaiçin |
maxResultBuffer Dizgi sıfır |
(Sürüm 9.2+) maxResultBuffer, sonuç kümesi okunurken okunacak en fazla bayt sayısını ayarlamak için kullanılabilir. Belirtilmezse sonuç kümesinin tamamı okunur. Boyut iki stilde belirtilebilir: 1. bayt boyutu olarak (örneğin, 100 , 150M , 300K , 400G )2. en büyük yığın belleğinin yüzdesi olarak (örneğin, 10p , 15pct , 20percent ). |
msiClientId Dizgi sıfır |
(Kullanım dışı) (Sürüm 7.2+) accessToken almak için kullanılan Yönetilen Kimliğin (MSI) İstemci Kimliği, ActiveDirectoryManagedIdentity veya ActiveDirectoryMSI kimlik doğrulama modlarıyla bağlantı kurmak için gereklidir. |
multiSubnetFailover Boolean yanlış |
Bir SQL Server kullanılabilirlik grubunun veya SQL Server Yük Devretme Kümesi Örneğinin kullanılabilirlik grubu dinleyicisine bağlanmak için her zaman multiSubnetFailover=true getPropertyInfo, getMultiSubnetFailoverve setMultiSubnetFailoverile multiSubnetFailover bağlantı özelliğine program aracılığıyla erişebilirsiniz. Not: SQL Server için Microsoft JDBC Driver 6.0'dan itibaren, kullanılabilirlik grubu dinleyicisine bağlanmak için multiSubnetFailover "true" olarak ayarlamak artık gerekmez. Varsayılan olarak etkin olan transparentNetworkIPResolution |
packetSize Int [-1 | 0 | 512..32767] 8000 |
Sunucuyla iletişim kurmak için kullanılan ve bayt cinsinden belirtilen ağ paketi boyutu. -1 değeri, sunucunun varsayılan paket boyutunun kullanılacağını gösterir. 0 değeri, en fazla 32767 değerinin kullanılacağını gösterir. Bu özellik kabul edilebilir aralığın dışındaki bir değere ayarlanırsa bir özel durum oluşur. Önemli: Şifreleme etkinleştirildiğinde packetSize özelliğinin kullanılması (encrypt=true) önerilmez. Aksi takdirde, sürücü bir bağlantı hatası verebilir. Bu özellik hakkında daha fazla bilgi için SQLServerDataSource sınıfının setPacketSize yöntemine bakın. |
parola Dizgi [<=128 karakter] sıfır |
SQL kullanıcısı ve parolası ile bağlantı varsa veritabanı parolası. Asıl ad ve parola ile Kerberos bağlantısı için bu özellik Kerberos Asıl parolası olarak ayarlanır. (Sürüm 10.2+) kimlik doğrulama=ActiveDirectoryServicePrincipalolduğunda, parola özelliği Active Directory hizmet sorumlusu için kullanılacak parolayı tanımlar. |
bağlantı noktası numarası liman Int [0..65535] 1433 |
Sunucunun dinlediği bağlantı noktası. Bağlantı dizesinde bağlantı noktası numarası belirtilirse, SQLbrowser'a istek yapılmaz. Hem port hem de instanceName belirtildiğinde, belirtilen bağlantı noktasına bağlantı yapılır. Ancak instanceName doğrulanır ve bağlantı noktasıyla eşleşmiyorsa hata oluşur. Önemli: SQLbrowser kullanmaktan daha güvenli olduğundan bağlantı noktası numarasının her zaman belirtilmesi önerilir. |
yöntemHazırla Dizgi ["prepexec" | "prepare"] prepexec |
(Sürüm 11.2.0+) Sürücü tarafından hazırlanan deyimlerle kullanılacak temel hazırlama yöntemini belirtir. öğesini ayarlayın,'in hazırlama yöntemi olarak sp_prepare 'yi kullanmasını sağlamak üzere hazırlayın.
prepareMethod bu değere ayarlandığında, veritabanının yürütme planında herhangi bir başlangıç değeri olmaksızın deyimini hazırlamak üzere ayrı bir ilk sorgu yapılır. Prepexec'i, hazırlama yöntemi olarak |
queryTimeout Int -1 |
Bir sorguda zaman aşımı gerçekleşmeden önce bekleme süresi olarak belirlenen saniye sayısı. Varsayılan değer -1'dir ve bu da sonsuz zaman aşımı anlamına gelir. Bu değeri 0 olarak ayarlamak, süresiz olarak beklemeyi de gösterir. |
Bölge Dizgi sıfır |
(Sürüm 9.4+) Kerberos kimlik doğrulaması için bölge. Sunucunun alanından sürücü otomatik olarak algılar Kerberos kimlik doğrulama alanını geçersiz kılmak için bu değeri ayarlayın. |
Replikasyon Boolean ["doğru" | "yanlış"] yanlış |
(Sürüm 9.4+) Bu ayar, sunucuya bağlantının çoğaltma için kullanılıp kullanılmadiğini bildirir. Etkinleştirildiğinde, NOT FOR REPLICATION seçeneğine sahip tetikleyiciler bağlantı üzerinde çalışmaz. |
yanıt arabelleği Dizgi ["full" | "uyarlamalı"] Adaptif |
Bu özellik "uyarlamalı" olarak ayarlanmışsa, gerektiğinde mümkün olan en az veri arabelleğe alınır. Varsayılan mod "uyarlamalı"dır. Bu özellik "tam" olarak ayarlanırsa, bir sorgu yürütüldüğünde sonuç kümesinin tamamı sunucudan okunur. |
Yöntem Seç Dizgi ["doğrudan" | "imleç"] dolaysız |
Bu özellik "imleç" olarak ayarlanırsa, TYPE_FORWARD_ONLY ve CONCUR_READ_ONLY imleçler için bağlantıda oluşturulan her sorgu için bir veritabanı imleci oluşturulur. Bu özellik genellikle yalnızca uygulama istemci belleğinde tam olarak içerilemeyecek büyük sonuç kümeleri oluşturduğunda gereklidir. Bu özellik "imleç" olarak ayarlanırsa, istemci belleğinde yalnızca sınırlı sayıda sonuç kümesi satırı tutulur. Varsayılan davranış, tüm sonuç kümesi satırlarının istemci belleğinde tutulmasıdır. Bu davranış, uygulama tüm satırları işlerken en hızlı performansı sağlar. |
stringParametreleriniGönder AsUnicode Boolean ["doğru" | "yanlış"] doğru |
sendStringParametersAsUnicode özelliği "true" olarak ayarlanırsa, Dize parametreleri sunucuya Unicode biçiminde gönderilir. sendStringParametersAsUnicode özelliği "false" olarak ayarlanırsa, Dize parametreleri Unicode yerine ASCII/MBCS gibi Unicode olmayan biçimde sunucuya gönderilir. sendStringParametersAsUnicode özelliği için varsayılan değer "true" şeklindedir. Uygulama sendStringParametersAsUnicode Bir uygulama, SQLServerPreparedStatement ve SQLServerCallableStatement sınıflarının setNString, setNCharacterStream ve setNClob ulusal karakter yöntemlerini NCHAR, NVARCHARve LONGNVARCHAR JDBC veri türleri için kullanmalıdır. Bu değerin değiştirilmesi, veritabanındaki sonuçların sıralanmasında etkilenebilir. Sıralama farklılıkları, Unicode olmayan karakterler yerine Unicode için farklı sıralama kurallarından kaynaklanır. |
geçici veri türleri gönder AsStringForBulkCopy Boolean ["doğru" | "yanlış"] doğru |
(Sürüm 8.4+) Bu bağlantı özelliği, "false" olarak ayarlandığında DATE, DATETIME, DATIMETIME2, DATETIMEOFFSET, SMALLDATETIMEve TIME veri türlerini Dize olarak göndermek yerine ilgili türleri olarak gönderir. Bu bağlantı özelliği "false" olarak ayarlandığında, sürücü her zamansal veri türünün varsayılan dize değişmez biçimini kabul eder, örneğin: TARİh: 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] KüçükTarihSaat: YYYY-MM-DD hh:mm:ss ZAMAN: hh:mm:ss[.nnnnnnn] |
sendTimeAsDatetime Boolean ["doğru" | "yanlış"] doğru |
Bu özellik SQL Server JDBC Sürücüsü 3.0'a eklendi. java.sql.Time değerlerini sunucuya SQL Server datetime değerleri olarak göndermek için "true" olarak ayarlayın. java.sql.Time değerlerini sunucuya SQL Server saat değerleri olarak göndermek için "false" olarak ayarlayın. Bu özelliğin varsayılan değeri şu anda "true" şeklindedir ve gelecekteki bir sürümde değişebilir. SQL Server için Microsoft JDBC Sürücüsünün java.sql.Time değerlerini sunucuya göndermeden önce nasıl yapılandırıldığı hakkında daha fazla bilgi için bkz. java.sql.Saat Değerlerinin SunucuNasıl Gönderileceğini Yapılandırma . |
sunucu sertifikası sunucu Dizgi sıfır |
(Sürüm 11.2.0+) Sunucu sertifika dosyasının yolu. Doğrulama amaçlı kullanım için, şifrelemeolarak katıayarlandığında kullanılır. Sürücü, PEM dosya biçimini kullanarak sertifika dosyalarını destekler. |
sunucuAdı sunucu Dizgi sıfır |
SQL Server veya Azure SQL veritabanı çalıştıran bilgisayar. Kullanılabilirlik grubunun Sanal Ağ Adını da belirtebilirsiniz. Olağanüstü durum kurtarma hakkında daha fazla bilgi için bkz. Yüksek Kullanılabilirlik, olağanüstü durum kurtarmaiçin |
serverNameAsACE Boolean ["doğru" | "yanlış"] yanlış |
(Sürüm 6.0+) Sürücünün bağlantı için Unicode sunucu adını ASCII uyumlu kodlamaya (Punycode) çevirmesi gerektiğini belirtmek için "true" olarak ayarlayın. Bu ayar false ise, sürücü bağlanmak için sağlanan sunucu adını kullanır. Uluslararası özellikler hakkında daha fazla bilgi için bkz. JDBC sürücüsünün uluslararası özellikleri. |
serverPreparedStatement... İmha Eşiği Tam sayı 10 |
(Sürüm 6.2+) Bu özellik, sunucudaki bekleyen tanıtıcıları temizleme çağrısı yürütülmeden önce bağlantı başına kaç bekleyen hazır deyim atma eyleminin (sp_unprepare ) geri alınabileceğini denetlemek için kullanılabilir. Bu özellik <= 1 olarak ayarlanırsa, hazırlanmamış eylemler, hazır ifade kapatıldığında hemen yürütülür. Özellik > 1 olarak ayarlanırsa, bu çağrılar sp_unprepare 'in çok sık çağrılmasının getirdiği yükten kaçınmak için bir araya getirilir ve toplu olarak işlenir. |
serverSpn Dizgi sıfır |
(Sürüm 4.2+) Bu isteğe bağlı özellik, Java Kerberos bağlantısı için Hizmet Asıl Adını (SPN) belirtmek için kullanılabilir.
nolu doğrulama şemasıile birlikte kullanılır. SPN'yi belirlemek için şu biçimde olmalıdır: "MSSQLSvc/fqdn:port@REALM", burada fqdn tam etki alanı adı, port numarası bağlantı noktası numarası ve REALM ise SQL Server'ın Kerberos bölgesinin büyük harflerle yazılması gereken adıdır. Not: İstemcinin varsayılan bölgesi (Kerberos yapılandırmasında belirtildiği gibi) SQL Server'ın Kerberos bölgesiyle aynıysa @REALM isteğe bağlıdır. Java Kerberos ile |
socketFactoryClass Dizgi sıfır |
(Sürüm 8.4+) Varsayılan yuva fabrikası yerine kullanılacak özel yuva fabrikasının sınıf adını belirtir. |
socketTimeout Int 0 |
Zaman aşımı oluşmadan önce bir soket okuma veya kabul etme işlemi için beklenen milisaniye sayısı. Varsayılan değer 0'dır ve bu da sonsuz zaman aşımı anlamına gelir. |
beyan havuzu... Önbellek Boyutu Int 0 |
(Sürüm 6.4+) Bu özellik, sürücüde hazırlanmış ifade tanıtıcıları önbelleğini etkinleştirmek için kullanılabilir. Bu özellik, ifade havuzunun önbellek boyutunu tanımlar. Bu özellik yalnızca "false" olarak ayarlanması gereken disableStatementPooling bağlantı özelliğiyle kullanılabilir. disableStatementPooling "true" veya statementPoolingÖnbellekBoyutu 0 olarak ayarlandığında, hazırlık ifadeleri için tanıtıcı önbelleğe alma devre dışı bırakılır. |
SSL Protokolü Dizgi TLS |
(Sürüm 6.4+) Bu özellik, güvenli bağlantı sırasında dikkate alınması gereken TLS protokolünü belirtmek için kullanılabilir. Olası değerler şunlardır: TLS, TLSv1, TLSv1.1ve TLSv1.2. Güvenli Yuva Katmanı protokolü hakkında daha fazla bilgi için bkz. SSLProtocol |
şeffaf ağ IPResolution Boolean ["doğru" | "yanlış"] doğru |
(Sürüm 6.0+) Bu özellik, (şu anda) etkin sunucuya daha hızlı algılama ve bağlantı sağlar. Olası değerler "true" ve "false" değerleridir, burada "true" varsayılan değerdir. SQL Server için Microsoft JDBC Driver 6.0'ın öncesinde, uygulamanın bir Always On Kullanılabilirlik Grubuna bağlandığını belirtmek için bağlantı dizesini "multiSubnetFailover=true" içerecek şekilde ayarlaması gerekiyordu. multiSubnetFailover bağlantı anahtar sözcüğü Not: transparentNetworkIPResolution=true olduğunda, ilk bağlantı girişimi zaman aşımı olarak 500 ms kullanır. Sonraki girişimlerde multiSubnetFailover özelliği tarafından kullanılan zaman aşımı mantığı kullanılır. |
trustManagerClass (güven yöneticisi sınıfı) Dizgi sıfır |
(Sürüm 6.4+) Özel javax.net.ssl.TrustManager uygulamasının tam sınıf adı. |
trustManager... ConstructorArg Dizgi sıfır |
(Sürüm 6.4+) TrustManager oluşturucusuna geçirmek için isteğe bağlı bir bağımsız değişken.
trustManagerClass özelliği belirtilirse ve şifreli bir bağlantı istenirse, varsayılan sistem JVM anahtar deposu tabanlı TrustManager yerine özel TrustManager kullanılır. |
Sunucu Sertifikasına Güven Boolean ["doğru" | "yanlış"] yanlış |
Sürücünün sunucu TLS/SSL sertifikasını doğrulamadığını belirtmek için "true" olarak ayarlayın. "Evet" ise, iletişim katmanı TLS kullanılarak şifrelendiğinde sunucu TLS/SSL sertifikasına otomatik olarak güvenilir. "False" ise, sürücü sunucu TLS/SSL sertifikasını doğrular. Sunucu sertifikası doğrulaması başarısız olursa, sürücü bir hata oluşturur ve bağlantıyı kapatır. Varsayılan değer "false"tur. serverName geçirilen değerin, TLS/SSL bağlantısının başarılı olması için sunucu sertifikasındaki Konu Diğer Adı'ndaki Ortak Ad (CN) veya DNS adıyla tam olarak eşleştiğinden emin olun. Şifreleme desteği hakkında daha fazla bilgi için bkz. şifreleme desteğini anlama Not: Bu özellik şifreleme/kimlik doğrulaması özellikleriyle birlikte kullanılır. Bu özellik yalnızca bağlantı TLS şifrelemesi kullanıyorsa sunucu TLS/SSL sertifika doğrulamasını etkiler. |
trustStore Dizgi sıfır |
Sertifika trustStore dosyasının yolu (dosya adı dahil). trustStore dosyası, istemcinin güvendiği sertifikaların listesini içerir. Bu özellik belirlenmediğinde veya null olarak ayarlandığında, sürücü hangi sertifika deposunun kullanılacağını belirlemek için güven yöneticisi fabrikasının arama kurallarına güvenir. Varsayılan SunX509 TrustManagerFactory, güvenilen malzemeyi şu arama sırasına göre bulmaya çalışır: "javax.net.ssl.trustStore" JVM sistem özelliği tarafından belirtilen bir dosya. <java-home>/lib/security/jssecacerts dosyası.<java-home>/lib/security/cacerts dosyası.SUNX509 TrustManager Arabirimi hakkında daha fazla bilgi için Sun Microsystems Web sitesindeki SUNX509 TrustManager Arabirimi belgelerine bakın. Not: Bu özellik yalnızca bağlantı TLS şifrelemesi kullanıyorsa ve trustServerCertificate özelliği "false" olarak ayarlandıysa trustStore aramasını etkiler. |
trustStorePassword Dizgi sıfır |
trustStore verilerinin bütünlüğünü denetlemek için kullanılan parola. trustStore özelliği ayarlanmışsa ancak trustStorePassword özelliği ayarlanmadıysa, trustStore'un bütünlüğü denetlenmiyor. Hem trustStore hem de trustStorePassword özellikleri belirlenmediğinde, sürücü "javax.net.ssl.trustStore" ve "javax.net.ssl.trustStorePassword" JVM sistem özelliklerini kullanır. "javax.net.ssl.trustStorePassword" sistem özelliği belirtilmezse, trustStore'nun bütünlüğü denetlenmiyor. Kullanıcı trustStore özelliğini ayarlamaz ancak trustStorePassword özelliğini ayarlarsa, JDBC sürücüsü "javax.net.ssl.trustStore" öğesinin güven deposu olarak belirttiği dosyayı kullanır. Ayrıca, sürücü belirtilen trustStorePassword kullanarak güven deposunun bütünlüğünü kontrol eder. İstemci uygulaması parolayı JVM sistem özelliğinde depolamak istemediği durumlarda bu ayar gereklidir. Not: trustStorePassword özelliği, yalnızca bağlantı TLS bağlantısı kullanıyorsa ve trustServerCertificate özelliği "false" olarak ayarlandıysa, sertifika trustStore aramasını etkiler. |
güven deposu türü Dizgi JKS |
FIPS modu için kullanılacak güven deposu türünü belirtmek için bu özelliği ayarlayın. Olası değerler PKCS12 |
useBulkCopyFor... TopluEkleme Boolean ["doğru" | "yanlış"] yanlış |
(Sürüm 9.2+) Bu bağlantı özelliği, java.sql.PreparedStatement kullanarak toplu ekleme işlemleri yaparken Toplu Kopyalama API'sini saydam bir şekilde kullanmak için etkinleştirilebilir. Bu özellik etkinleştirildiğinde büyük olasılıkla daha yüksek performans sağlar. Bu özellik varsayılan olarak devre dışıdır. Bu özelliği etkinleştirmek için bu özelliği "true" olarak ayarlayın. Önemli Not: Bu özellik yalnızca tam parametreli INSERT sorgularını destekler. INSERT sorguları diğer SQL sorguları ile birleştirilirse veya değerlerde veri içeriyorsa, yürütme temel toplu ekleme işlemine geri döner. Bu özelliği kullanma hakkında daha fazla bilgi için bkz. Toplu ekleme işlemi için toplu kopyalama API'sini kullanma |
useDefaultGSSCredential (varsayılan GSS kimlik doğrulaması kullan) Boolean ["doğru" | "yanlış"] yanlış |
(Sürüm 12.6+) Kerberos kimlik doğrulaması için Yerel GSS-API kullanmak amacıyla sürücünün kullanıcı adına GSSCredential oluşturup oluşturmayacağını belirleyen bir işaret. |
useDefaultJaasConfig Boolean ["doğru" | "yanlış"] yanlış |
(Sürüm 12.6+) Uygulama, JAAS'ı sistem düzeyinde yapılandıran kitaplıklarla birlikte mevcut olduğunda, bu özelliği true olarak ayarlamak sürücünün Kerberos kimlik doğrulamasını gerçekleştirmek için aynı yapılandırmayı kullanmasına olanak tanır. |
useFmtOnly Boolean ["doğru" | "yanlış"] yanlış |
(Sürüm 7.4+) Parametre Meta Verilerini sunucudan sorgulamak için alternatif bir yol sağlar. Parametre Meta Verilerini sorgularken sürücünün SET FMTONLY mantığı kullanması gerektiğini belirtmek için bu özelliği "true" olarak ayarlayın. Bu özellik varsayılan olarak kapalıdır ve SET FMTONLY kullanımdan kaldırılmak üzere işaretlendiğinden bu özelliğin kullanılması önerilmez.
useFmtOnly yalnızca sp_describe_undeclared_parameters 'daki bilinen sorunlar ve sınırlamalar için geçici bir çözüm olarak kullanılabilir hale getirildi.Bu özellik şu anda yalnızca tek SELECT/INSERT/UPDATE/DELETE sorgularını destekler. Bu özelliği desteklenmeyen/birden çok sorguyla kullanmaya çalışmak, sürücünün sorguyu ayrıştırmaya çalışmasına neden olur, ancak büyük olasılıkla bir özel durumla sonuçlanır.Bu özellik hakkında daha fazla bilgi için bkz. useFmtOnly kullanarak ParameterMetaData alma. |
kullanıcı adı kullanıcı Dizgi [<=128 karakter] sıfır |
SQL kullanıcısı ve parolası ile bağlantı varsa veritabanı kullanıcısı. Asıl ad ve parola ile Kerberos bağlantısı için bu özellik Kerberos Asıl adı olarak ayarlanır. (Sürüm 10.2+) authentication=ActiveDirectoryServicePrincipal |
iş istasyonu kimliği Dizgi [<=128 karakter] <empty string> |
İş istasyonu kimliği. Çeşitli profil oluşturma ve günlüğe kaydetme araçlarında belirli iş istasyonunu tanımlamak için kullanılır. Hiçbiri belirtilmezse, varsayılan olarak <empty string> kullanılır. |
xopenStates Boolean ["doğru" | "yanlış"] yanlış |
Sürücünün özel durumlarda XOPEN uyumlu durum kodları döndüreceğini belirtmek için "true" olarak ayarlayın. Varsayılan değer SQL 99 durum kodlarını döndürmektir. |
Not
SQL Server için Microsoft JDBC Sürücüsü, ANSI_DEFAULTS ve IMPLICIT_TRANSACTIONS dışında bağlantı özellikleri için sunucu varsayılan değerlerini alır. SQL Server için Microsoft JDBC Sürücüsü, ANSI_DEFAULTS'i otomatik olarak AÇIK ve IMPLICIT_TRANSACTIONS'ı KAPALI olarak ayarlar.
Önemli
Kimlik doğrulaması ActiveDirectoryPassword olarak ayarlandıysa, classpath'e aşağıdaki kitaplığın eklenmesi gerekir: microsoft-authentication-library-for-java. Maven Deposu'da bulunabilir. Kitaplığı ve bağımlılıklarını indirmenin en basit yolu Maven kullanmaktır:
- Maven'i sisteminize yükleme
- Sürücünün GitHub sayfasına gidin
- pom.xml dosyasını indirme
- Kitaplığı ve bağımlılıklarını indirmek için aşağıdaki Maven komutunu çalıştırın:
mvn dependency:copy-dependencies