Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, SQL Server için ODBC Sürücüsü'nde bulunan bağlantı dizeleri ve DSN'ler için anahtar sözcükleri ile SQLSetConnectAttr ve SQLGetConnectAttr için bağlantı özniteliklerini listeler.
Desteklenen DSN ve bağlantı dizesi anahtar sözcükleri ile bağlantı öznitelikleri
Aşağıdaki tablo, her platform için mevcut anahtar kelimeler ve özellikler listelenmektedir (L: Linux; M: macOS; W: Windows). Daha fazla ayrıntı için anahtar sözcüğü veya özniteliği seçin.
Using Connection String Keywords with SQL Server Native Client, SQLSetConnectAttr ve SQLSetConnectAttr Function içinde belgelenmeyen bazı bağlantı dizesi anahtar sözcükleri ve bağlantı öznitelikleri şunlardır.
Description
Veri kaynağını tanımlar.
SQL_COPT_SS_ANSI_OEM
Verilerin ANSI'den OEM'e dönüştürülmesini denetler.
| Öznitelik değeri | Description |
|---|---|
SQL_AO_OFF (varsayılan) |
Çeviri yapılmadı. |
SQL_AO_ON |
Çeviri tamamlandı. |
SQL_COPT_SS_AUTOBEGINTXN
17.6 sürümünden itibaren, otomatik kaydetme kapalıyken, COMMIT veya BEGIN TRANSACTION sonrasında otomatik ROLLBACK işlemini denetlemek için bu seçeneği kullanın.
| Öznitelik değeri | Description |
|---|---|
SQL_AUTOBEGINTXN_ON (varsayılan) |
ROLLBACK veya COMMIT sonrasında otomatik BEGIN TRANSACTION. |
SQL_AUTOBEGINTXN_OFF |
ROLLBACK veya COMMIT sonrasında otomatik BEGIN TRANSACTION yok. |
SQL_COPT_SS_FALLBACK_CONNECT
SQL Server yedek bağlantılarının kullanımını kontrol eder. Bu seçenek artık desteklenmiyor.
| Öznitelik değeri | Description |
|---|---|
SQL_FB_OFF (varsayılan) |
Yedekleme bağlantılarını devre dışı bırakır. |
SQL_FB_ON |
Yedek bağlantıları etkinleştiriyor. |
Yeni bağlantı dizesi anahtar kelimeleri ve bağlantı özellikleri
Kimlik Doğrulaması - SQL_COPT_SS_AUTHENTICATION
SQL Server'a bağlanırken kullanılacak kimlik doğrulama modunu ayarlar. Daha fazla bilgi için ODBC Sürücüsü ile Microsoft Entra ID'yi kullanma konusuna bakın.
| Anahtar kelime değeri | Öznitelik değeri | Description |
|---|---|---|
SQL_AU_NONE (varsayılan) |
Ayarlanmadı. Diğer özniteliklerin birleşimi kimlik doğrulama modunu belirler. | |
SqlPassword |
SQL_AU_PASSWORD |
Kullanıcı adı ve parola ile SQL Server kimlik doğrulaması. |
ActiveDirectoryIntegrated |
SQL_AU_AD_INTEGRATED |
Microsoft Entra tümleşik kimlik doğrulaması. |
ActiveDirectoryInteractive |
SQL_AU_AD_INTERACTIVE |
Microsoft Entra etkileşimli kimlik doğrulaması. |
ActiveDirectoryMsi |
SQL_AU_AD_MSI |
Microsoft Entra yönetilen kimlik doğrulaması. Kullanıcı tarafından atanan kimlik için, UID kullanıcı kimliğinin nesne kimliğine ayarlanır. |
ActiveDirectoryServicePrincipal |
SQL_AU_AD_SPA |
Microsoft Entra hizmet asıl kimliği doğrulaması.
UID hizmet yöneticisinin istemci kimliğine ayarlanmıştır.
PWD istemci sırrına ayarlanmıştır. |
ActiveDirectoryPassword |
SQL_AU_AD_PASSWORD |
[KULLANIM DIŞI] Microsoft Entra parola kimlik doğrulaması.ActiveDirectoryPassword kullanım dışı bırakıldı. Daha fazla bilgi için bkz ActiveDirectoryPassword . kullanım dışı bırakıldı. |
SQL_AU_RESET |
Ayarlanmadı. Herhangi bir DSN veya bağlantı dizesi ayarını geçersiz kılar. |
Uyarı
Authentication anahtar sözcüğü veya özniteliği kullanılırken, bağlantı dizesinde, DSN'de veya bağlantı özniteliğinde Encrypt ayarını açıkça istenen değere ayarlayın. Ayrıntılar için SQL Server Yerel İstemcisi ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma konusuna bakın.
ColumnEncryption - SQL_COPT_SS_COLUMN_ENCRYPTION
Saydam sütun şifrelemeyi (Always Encrypted) denetler. Daha fazla bilgi için bkz. SQL Server için ODBC Sürücüsü ile Always Encrypted Kullanma.
| Anahtar kelime değeri | Öznitelik değeri | Description |
|---|---|---|
Enabled |
SQL_CE_ENABLED |
Always Encrypted'i etkinleştirir. |
Disabled (varsayılan) |
SQL_CE_DISABLED |
Always Encrypted özelliğini devre dışı bırakır. |
SQL_CE_RESULTSETONLY |
Yalnızca şifre çözmeyi etkinleştirir (sonuçlar ve dönüş değerleri). |
ConcatNullYieldsNull - SQL_COPT_SS_CONCAT_NULL
Dizgeler birleştirilirken NULL için ISO işlemesinin kullanımını kontrol eder. Daha fazla bilgi için bkz. SET CONCAT_NULL_YIELDS_NULL.
| Anahtar kelime değeri | Öznitelik değeri | Description |
|---|---|---|
Yes (varsayılan) |
SQL_CN_ON |
NULL birleştirme işlemi NULL sonucunu verir. |
No |
SQL_CN_OFF |
NULL birleştirme işlemi bir dize verir. |
Şifrelemek
Bağlantıların ağ üzerinden TLS şifrelemesi kullanıp kullanmadığını belirtir. Olası değerler şunlardıryes/mandatory: (18.0+),no/optional (18.0+) ve strict(18.0+). Varsayılan değer 18.0+ sürümünde ve yes önceki sürümlerdedirno.
ayarından Encryptbağımsız olarak, sunucu oturum açma kimlik bilgileri (kullanıcı adı ve parola) her zaman şifrelenir.
, TrustServerCertificate, ve sunucu tarafı Force Encryption ayarları, Encryptbağlantıların ağ üzerinden şifrelenip şifrelemediğini belirler. Aşağıdaki tablolarda bu ayarların etkisi gösterilmektedir.
ODBC Sürücüsü 18 ve daha yenisi
| Şifreleme Ayarı | Sunucu Sertifikasına Güven | Sunucu Zorlamalı Şifreleme | Sonuç |
|---|---|---|---|
| Hayı | Hayı | Hayı | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenmez. |
| Hayı | Yes | Hayı | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenmez. |
| Yes | Hayı | Hayı | Sunucu sertifikası denetlenir. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Yes | Yes | Hayı | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Hayı | Hayı | Yes | Sunucu sertifikası denetlenir. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Hayı | Yes | Yes | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Yes | Hayı | Yes | Sunucu sertifikası denetlenir. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Yes | Yes | Yes | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Sıkı | - | - |
TrustServerCertificate göz ardı edilir. Sunucu sertifikası denetlenir.İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
Uyarı
Değer Strict yalnızca TDS 8.0 bağlantılarını destekleyen sunuculara karşı kullanılabilir.
ODBC Sürücüsü 17 ve üzeri
| Şifreleme Ayarı | Sunucu Sertifikasına Güven | Sunucu Zorlamalı Şifreleme | Sonuç |
|---|---|---|---|
| Hayı | Hayı | Hayı | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenmez. |
| Hayı | Yes | Hayı | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenmez. |
| Yes | Hayı | Hayı | Sunucu sertifikası denetlenir. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Yes | Yes | Hayı | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Hayı | Hayı | Yes | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Hayı | Yes | Yes | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Yes | Hayı | Yes | Sunucu sertifikası denetlenir. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
| Yes | Yes | Yes | Sunucu sertifikası denetlenmiyor. İstemci ve sunucu arasında gönderilen veriler şifrelenir. |
SaydamAğIPÇözümlemesi - SQL_COPT_SS_TNIR
ODBC sürücüsü için eski bir çoklu IP yedek özelliği olan Şeffaf Ağ IP Çözümleme özelliğini kontrol eder. Bu ayar, bağlantı dizisini etkilemez; MultiSubnetFailover=Yesbu ayar Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Microsoft Fabric'te SQL veritabanı, kullanılabilirlik grubu dinleyicileri ve failover kümesi örnekleri için önerilen ayardır. Daha fazla bilgi için ODBC sürücüsüyle şeffaf ağ ip çözünürlüğü veya Yüksek kullanılabilirlik ve felaket kurtarma bölümlerine bakabilirsiniz.
| Anahtar kelime değeri | Öznitelik değeri | Description |
|---|---|---|
Enabled (varsayılan) |
SQL_IS_ON |
Şeffaf ağ IP çözümlemesini etkinleştirir. |
Disabled |
SQL_IS_OFF |
Saydam Ağ IP Çözümlemesini devre dışı bırakır. |
UseFMTONLY
SQL Server 2012 ve sonraki sürümlere bağlanırken meta verileri için SET FMTONLY kullanımını denetler.
| Anahtar kelime değeri | Description |
|---|---|
No (varsayılan) |
Varsa meta veri için kullanın sp_describe_first_result_set . |
Yes |
Meta veriler için kullanın SET FMTONLY . |
Replication
ODBC Sürücüsü sürüm 17.8 ve daha yeni sürümlerde çoğaltma oturum açma işleminin kullanımını belirtir.
| Anahtar kelime değeri | Description |
|---|---|
No (varsayılan) |
Replikasyon girişi kullanılmıyor. |
Yes |
NOT FOR REPLICATION seçeneğine sahip tetikleyiciler bağlantıda tetiklenmez. |
RetryExec
Yapılandırılabilir yeniden deneme mantığı sürüm 18.1'den itibaren kullanılabilir. Yapılandırılabilir koşullara göre belirli ODBC işlev çağrılarını otomatik olarak yeniden yürütür. Bu özelliği, bağlantı dizesinde RetryExec anahtar sözcüğünü yeniden deneme kuralları listesiyle birlikte kullanarak etkinleştirin. Her tekrar deneme kuralı üç nokta noktası ayrılmış bileşenden oluşur: hata eşleşmesi, yeniden deneme politikası ve sorgu eşleşmesi.
Sorgu eşleşmesi, belirli bir uygulama için kullanılacak yeniden deneme kuralını belirler. Gelen komut metni (SQLExecDirect) veya ifade nesnesindekiSQLExecute () hazırlanmış komut metni ile eşleşir. Birden fazla kural eşleşirse, listedeki ilk eşleşme kuralı kullanılır. Bu davranış, kuralları artan genellik sırasına göre listelemenize olanak tanır. Eğer hiçbir kural uyuşmazsa, tekrar deneme uygulanmaz.
Yürütme hata ile sonuçlandığında ve geçerli bir yeniden deneme kuralı olduğunda, hata eşleşmesi yürütmenin tekrar denenip denenemediğini belirler.
Anahtar kelimenin RetryExec değeri, nokta virgülle ayrılmış tekrar deneme kurallarının bir listesidir.
RetryExec={rule1;rule2}
Yeniden deneme kuralı aşağıdaki gibidir: <errormatch>:<retrypolicy>:<querymatch>
Hata Eşleşmesi: Virgülle ayrılmış hata kodları listesi. Örneğin, belirtmek
1000,2000tekrar denemek istediğiniz hata kodlarını listeler.Yeniden Deneme Politikası: Bir sonraki denemeye kadar olan gecikmeyi belirtir. İlk parametre tekrar sayısı, ikinci parametre ise gecikmedir. Örneğin,
3,10+710 saniyeden başlayarak üç deneme yapıldığı ve sonraki her yeniden denemenin 7 saniye arttığı anlamına gelir. Belirtmezseniz+7, her sonraki deneme üstel olarak iki katına çıkar.Sorgu Eşleşmesi: Eşleştirmek istediğiniz sorguyu belirtir. Hiçbir şey belirtmezseniz, kural tüm sorgular için geçerlidir.
SELECTbelirtmek,SELECTile başlayan tüm sorgular anlamına gelir.
Üç bileşenin tümünü bir bağlantı dizesinde kullanmak için bir araya getirme:
RetryExec={1000,2000:3,10+7:SELECT}
Bu kural şu anlama gelir: SELECT ile başlayan bir sorguda 1000 ve 2000 hataları için, başlangıç gecikmesi 10 saniye olacak şekilde iki kez yeniden deneyin ve sonraki her deneme için 7 saniye ekleyin.
Examples
40501,40540:4,5
40501 ve 40540 hataları için, ilk gecikme 5 saniye olmak üzere ve her yeniden deneme arasında gecikmeyi üstel olarak iki katına çıkararak en fazla dört kez yeniden deneyin. Bu kural tüm sorgular için geçerlidir.
49919:2,10+:CREATE
CREATE ile başlayan bir sorguda 49919 hatası için en fazla iki kez yeniden deneyin: ilk olarak 10 saniye sonra, ardından 20 saniye sonra.
49918,40501,10928:5,10+5:SELECT c1
SELECT c1 ile başlayan sorgularda 49918, 40501 ve 10928 hataları için en fazla beş kez yeniden deneyin; ilk yeniden denemeden önce 10 saniye bekleyin ve sonrasındaki her denemede bekleme süresini 5 saniye artırın.
Önceki üç kuralı bağlantı dizesi'de birlikte aşağıdaki şekilde belirtin:
RetryExec={49918,40501,10928:5,10+5:SELECT c1;49919:2,10+:CREATE;40501,40540:4,5}
En genel (hepsini eşleştiren) kuralı sona yerleştirin, böylece önündeki iki daha spesifik kural kendi sorularıyla eşleşebilir.
Müşteri Sertifikası
Loopback bağlantılarıyla kimlik doğrulama sertifikasını belirtir. Bu seçenek yalnızca Linux üzerinde SQL Server'ta mevcuttur. Seçenekler şunlardır:
| Seçenek Değeri | Description |
|---|---|
sha1:<hash_value> |
ODBC sürücüsü, Windows Sertifika Deposu'nda bir sertifika bulmak için SHA1 hash'ını kullanır. |
subject:<subject> |
ODBC sürücüsü, Windows Sertifika Mağazası'nda bir sertifika bulmak için konuyu kullanır. |
file:<file_location>[,password:<password>] |
ODBC sürücüsü bir sertifika dosyası kullanır. |
Sertifika formatlıysa PFX ve sertifikanın PFX içindeki özel anahtar şifreyle korunuyorsa, anahtar kelimeyi password ekleyin. Sertifikalar için PEM ve DER formatlar için, özniteliği ClientKey ekleyin.
İstemci Anahtarı
DER özniteliği tarafından belirtilen ClientCertificate veya PEM sertifikalarının özel anahtarının dosya konumunu belirtir. Biçim:
| Seçenek Değeri | Description |
|---|---|
file:<file_location>[,password:<password>] |
Özel anahtar dosyasının konumunu belirtir. |
Özel anahtar dosyası şifreyle korunuyorsa, anahtar kelimeyi password ekleyin. Şifrede herhangi bir , karakter varsa, hemen her karakterden sonra bir karakter , ekleyin. Örneğin, şifre a,b,cise , bağlantı dizesi'deki kaçan şifre 'dira,,b,,c.
HostnameInCertificate
şifreleme anlaşmalıysa, Address, Server veya Addr öğelerinden türetilen varsayılan değerden farklı olması durumunda, sunucunun sertifikasında beklenen ana bilgisayar adını belirtir.
ServerCertificate seçeneğini kullandığınızda, HostnameInCertificate seçeneği yok sayılır.
IP Adresi Tercihi
18.1 sürümünden itibaren, bağlantılar için önceliklendirilecek IP adresi türünü belirtmek için bu seçeneği kullanın.
Olası seçenekler IPv4First, IPv6First, ve UsePlatformDefault.
UsePlatformDefault, sunucu adını çözümlemek için sistem çağrısı tarafından sağlanan sırayla adreslere bağlanır. Varsayılan değer IPv4First, önceki sürümlerdeki davranışa karşılık gelir.
ServerCertificate
18.1 sürümünden itibaren bu seçeneği sıkı şifreleme modunda kullanın.
ServerCertificate Anahtar kelimeyi kullanarak SQL Server TLS/SSL sertifikasına eşlik edecek bir sertifika dosyasına giden yolu belirtin. Eşleştirme, standart sertifika doğrulaması (geçerlilik süresi, ana bilgisayar adı, güven zinciri vb.) yerine yapılır. Kabul edilen sertifika biçimleri PEM, DERve CER' dır. Bu seçeneği belirtirseniz, SQL Server sertifikası, sağlanan ServerCertificate değerinin birebir eşleşme olup olmadığına bakılarak denetlenir.
SQL_COPT_SS_ACCESS_TOKEN
Kimlik doğrulama için Microsoft Entra erişim tokenı kullanın. Daha fazla bilgi için ODBC Sürücüsü ile Microsoft Entra ID'yi kullanma konusuna bakın.
| Öznitelik değeri | Description |
|---|---|
NULL (varsayılan) |
Erişim tokeni sağlanmıyor. |
ACCESSTOKEN* |
Erişim belirtecinin işaretçisi. |
SQL_COPT_SS_CEKEYSTOREDATA
Yüklenmiş bir anahtar deposu sağlayıcı kitaplığıyla iletişim kurar. Saydam sütun şifrelemeyi (Always Encrypted) denetler. Bu özniteliğin varsayılan değeri yok. Daha fazla bilgi için bkz. Özel Anahtar Deposu Sağlayıcıları.
| Öznitelik değeri | Description |
|---|---|
CEKEYSTOREDATA * |
Anahtar deposu sağlayıcı kitaplığı için haberleşme veri yapısı |
SQL_COPT_SS_CEKEYSTOREPROVIDER
Always Encrypted için bir anahtar deposu sağlayıcı kitaplığı yükler veya yüklenen anahtar deposu sağlayıcı kitaplıklarının adlarını alır. Daha fazla bilgi için bkz. Özel Anahtar Deposu Sağlayıcıları. Bu özniteliğin varsayılan değeri yok.
| Öznitelik değeri | Description |
|---|---|
char * |
Anahtar deposu sağlayıcı kitaplığının yolu |
SQL_COPT_SS_ENLIST_IN_XA
XA uyumlu bir İşlem İşleyicisi (TP) ile XA işlemlerini etkinleştirmek için uygulamanın, SQLSetConnectAttr ve bir SQL_COPT_SS_ENLIST_IN_XA nesnesine yönelik bir işaretçiyle XACALLPARAM öğesini çağırması gerekir. Bu seçenek Windows (17.3+), Linux ve macOS'ta desteklenir.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, param, SQL_IS_POINTER); // XACALLPARAM *param
Bir XA işlemini yalnızca bir ODBC bağlantısıyla ilişkilendirmek için, SQL_COPT_SS_ENLIST_IN_XA çağrılırken işaretçi yerine FALSE ile birlikte TRUE veya SQLSetConnectAttr sağlayın. Bu ayar yalnızca Windows'ta geçerlidir ve bir istemci uygulaması aracılığıyla XA işlemlerini belirtmek için kullanılamaz.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, (SQLPOINTER)TRUE, 0);
| Değer | Description | Platformlar |
|---|---|---|
XACALLPARAM nesne* |
XACALLPARAM nesnesine işaretçi. |
Windows, Linux ve macOS |
TRUE |
XA işlemini ODBC bağlantısıyla ilişkilendirir. tüm ilgili veritabanı etkinlikleri XA işleminin koruması altında gerçekleştirilir. | Windows |
FALSE |
İşlemi ODBC bağlantısıyla ilişkilendirmez. | Windows |
XA işlemleri hakkında daha fazla bilgi için bkz. XA İşlemlerini Kullanma.
SQL_COPT_SS_LONGASMAX
Uzun veri tiplerini sunuculara maksimum veri tipleri olarak gönderir.
| Öznitelik değeri | Description |
|---|---|
No (varsayılan) |
Gönderirken uzun tipleri maksimum tiplere çevirmeyin. |
Yes |
Gönderirken veriyi uzun tiplerden maksimum tiplere dönüştürün. |
SQL_COPT_SS_SPID
Bağlantının oturum kimliğini alır. Bu özellik T-SQL @@SPID değişkenine eşdeğerdir, ancak sunucuya fazladan gidiş dönüşe neden olmaz.
| Öznitelik değeri | Description |
|---|---|
DWORD |
SPID |