Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Java7 sqljdbc4 - SQL-Fehler 08S01 bei getConnection()

Kommentieren Sie die Zeile mit setEncrypt(true) :

...
dSource.setDatabaseName(REDACTED);
//dSource.setEncrypt(true);
dSource.setTrustServerCertificate(true);
...

Möglicherweise haben Sie Probleme mit der Verschlüsselungseinstellung. Von setEncrypt(...) Dokumentation:

Aktualisieren

Mit den Java-Versionen 1.6.0_29 und 7.0.0_1 hat Oracle einen Sicherheitsfix für den SSL/TLS-BEAST-Angriff eingeführt, der sehr wahrscheinlich das gleiche Problem verursachen wird. Es ist bekannt, dass der obige Sicherheitsfix Probleme bei Datenbankverbindungen zu MSSQL Server sowohl mit dem jTDS-Treiber als auch mit dem Microsoft-Treiber verursacht. Sie können entweder

  • Entscheide dich, keine Verschlüsselung zu verwenden, indem du setEncrypt(true) nicht verwendest (wie oben angegeben)
  • oder, wenn es von MSSQL Server erzwungen wird, können Sie den Java-Fix in Ihrer JVM deaktivieren, indem Sie -Djsse.enableCBCProtection=false festlegen Systemeigenschaft. Seien Sie gewarnt, es wirkt sich auf alle SSL-Verbindungen innerhalb derselben VM aus.