Da
MSSQL-Verbindungen ein wichtiges Thema (für mich) ist die Frage:
Was sollte man nun anwenden?
1. 'ENCRYPT=NO' oder
2. ODBCAdvanced=TrustServerCertificate=true
Das Problem ist eigentlich das veränderte Standardverhalten. Wenn nicht explizit angegeben, nehmen neuere Treiber eine Verschlüsselung an, ältere eben nicht.
Wollte man mit einem älteren Treiber Verschlüsselung haben musste das explizit angegeben werden. Das funktioniert mit neueren Treibern immer noch.
Hatte man bisher keine Verschlüsselung aktiviert, dann muss man nun explizit sagen, dass man das nicht will. Deswegen das
Encrypt=No.
Zu der zweiten Option gibt es folgenden Hinweis:
Zitat:
Wenn TrustServerCertificate auf true gesetzt wird, verwendet die Transportschicht zum Verschlüsseln des Kanals SSL und umgeht beim Validieren der Vertrauenswürdigkeit die Zertifikatkette. Wenn TrustServerCertificate auf true festgelegt ist und die Verschlüsselung aktiviert ist, wird die auf dem Server angegebene Verschlüsselungsebene auch dann verwendet, wenn Encrypt auf false festgelegt ist. Andernfalls schlägt die Verbindung fehl.
Wer also vorher schon nicht verschlüsselt hatte, kommt mit Option 1 gut zurecht.
Eigentlich sollte dies bei OBDC von FireDAC implizit gesetzt werden. Machen die bei
MARS_Connection=yes ja auch schon.