Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk leírja a Microsoft ODBC Driver 18 for SQL Server és a 17-es verzió közötti törésszerű változásokat.
A legtöbb alkalmazást, amely a 17-es verzióról a 18-as verzióra frissít, egyetlen változás érinti: a kapcsolatok alapértelmezés szerint titkosítva vannak. Ha az alkalmazásod nem csatlakozik a frissítés után, először olvasd el az alapértelmezett titkosítási viselkedést .
Módosítások összefoglalása
| Area | 17-es verzió | 18-as verzió és későbbi változatok |
|---|---|---|
Alapértelmezett Encrypt beállítás |
no |
yes |
Encrypt Elfogadott értékek |
yes, no |
yes, no, Mandatory, Optional, Strict |
| Titkosítási módok | Kikapcsolva vagy be | Kikapcsolva, bekapcsolva, vagy szigorúan |
| Kiszolgálótanúsítvány érvényesítése | Ez nem történik meg, hacsak nem kérsz titkosítást | Alapértelmezetten történik, mert a titkosítás alapértelmezetten be van kapcsolva |
| Kapcsolati karakterlánc kulcsszavak | Alapkészlet | Alapkészlet és új kulcsszavak |
Titkosítási változások
Alapértelmezett titkosítási viselkedés
A 17-es verzióban a kapcsolatok nincsenek titkosítva, hacsak nem kérsz titkosítást, vagy a szerver nem követeli azt. A 18-as és későbbi verziókban a kapcsolatok alapértelmezetten titkosítottak.
Mivel az illesztőprogram minden alkalommal érvényesíti a szerver tanúsítványt, amikor titkosít egy kapcsolatot, az egy alkalmazás, amely egy szerverhez csatlakozik önalázott vagy más módon nem megbízható tanúsítvánnyal, sikeresen csatlakozik a 17-es verzióhoz, és a 18-as verzióval megbukik. A hiba tanúsítvány ellenőrző hiba, nem hitelesítési hiba.
Három módja van a megoldásnak, a legbiztonságosabbtól a legkevésbé biztonságos állapotáig:
- Telepíts egy tanúsítványt arra a szerverre, amelyben az ügyfél megbízik. Ez az opció a javasolt, és ez az egyetlen, amely egyszerre fenntartja a titkosítást és a hitelesítést.
- Tartsd bekapcsolva a titkosítást, és mondd meg a meghajtónak, melyik nevet validálja, vagy beállítással
HostNameInCertificateServerCertificate. - Kapcsold ki a titkosítást, hogy visszaállítsd a 17-es verzió alapértelmezett állapotát, hozzáadva
Encrypt=noa kapcsolati karakterlánc-hez.
Caution
A beállítás TrustServerCertificate=yes titkosítva tartja a kapcsolatot, de letiltja a tanúsítvány ellenőrzését, így a kapcsolat nyitott marad a középpontban lévő támadó támadások előtt. Inkább megbízható tanúsítványt preferálok.
Titkosítási értékek
A 17-es verzió csak yes és noa rendszereket fogadja. A 18-as verzió és későbbi verziók elfogadják ezeket az értékeket, és további három értéket adnak hozzá:
| Value | Egyenértékű valamivel | Magatartás |
|---|---|---|
Mandatory |
yes |
A kapcsolat titkosított. |
Optional |
no |
A kapcsolat nincs titkosítva, hacsak a szerver nem követeli el. |
Strict |
Nincs | A kapcsolat TDS 8.0 titkosítást használ. |
Strict nincs 17-es verzió megfelelője. Ez az egyetlen érték, amely TDS 8.0-t választ, ahol a titkosítást a bejelentkezés előtti tárgyalás végzi, nem pedig a bejelentkezés során.
Visszaállítás a 17-es verziós titkosítási viselkedés
A 17-es verzió alapértelmezett viselkedésének visszaállításához Encrypt állítsuk be expliciten:
Driver={ODBC Driver 18 for SQL Server};Server=<server>;Database=<database>;UID=<user_id>;PWD=<password>;Encrypt=no;
Az érték explicit beállítása még a 17-es verzióban is hasznos, mert mindkét verzióban ugyanúgy viselkedik a kapcsolati karakterlánc.
Új kapcsolati karakterlánc kulcsszavak
A 18-as verzió a következő kapcsolati karakterlánc kulcsszavakat tartalmazza, amelyeket a 17-es verzió nem ismer fel:
| Keyword | Alkalmazás célja |
|---|---|
ConcatNullYieldsNull |
Szabályozza, hogy nullérték összekötése nulla eredményt eredményez-e. |
GetDataExtensions |
Szabályozza, mely SQLGetData kiterjesztéseket engedélyezi a driver. |
HostNameInCertificate |
Megadja a szerver TLS tanúsítványában érvényesítendő hosztnevet. |
IpAddressPreference |
Megadja az IP-címcsaládot, amit az illesztőprogram először próbál. |
LongAsMax |
A hosszú adattípusokat a max megfelelőikhez képezi le. |
RetryExec |
Újrapróbálkozási szabályokat konfigurál sikertelen lekérdezésekre. |
ServerCertificate |
Megadja a tanúsítványfájlhoz vezető útvonalat, amellyel a szervert ellen validálják. |
Egyedi kulcsszavakat vezettek be különböző 18-as verziókban. Az adott kulcsszót bemutató kiadásért és a teljes kulcsszó-hivatkozásért lásd az ODBC DSN és a kapcsolati karakterlánc kulcsszavakat.