я использую
- Версия JTDS: jtds-1.3.1
- Версия MS SQL JDBC: mssql-jdbc-8.4.0.jre8 даже mssql-jdbc-9.2.0.jre8 Java 8 Update 251
для простоты код будет таким же:
Студия Android не может подключиться к базе данных на сервере SQL Azure
У меня проблема с подключением к базе данных SQL или Azure SQL.
Я хочу подключиться с этим синтаксисом:
val connectionString = "jdbc:jtds:sqlserver://192.168.xx.xx:1433;databaseName=myData;user=x1;password=p1;encrypt=true;trustServerCertificate=true;"
с помощью этой строки подключения JTDS я могу подключиться к моей базе данных сервера sql на локальном хосте. Но с MS-JDBC мне не удалось подключиться.
val connectionString = "jdbc:sqlserver://192.168.xx.xx:1433;databaseName=myData;user=x1;password=p1;encrypt=true;trustServerCertificate=true;"
со следующими ошибками:
com.microsoft.sqlserver.jdbc.SQLServerException: The Driver could not establish a secured connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "Socket is closed". ClientConnectionId: xxxxxxxxxxxxxxxxx
Происходят интересные вещи. когда я подключаюсь с версией JTDS к SQL Azure с помощью команды:
jdbc:jtds:sqlserver://xxxxx.database.windows.net:1433;database=xxxxx;user=username;password=password;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
Мне не удалось подключиться к SQL Azure со следующими ошибками
java.sql.SQLException: Reason: Login Failed due to client TLS Version being less than minimal TLS Version allowed by the server
Я уже пробовал:
- SSLProtocol=TLSv1.2 (TLS, TLSv1.0, TLSv1.1) => НЕ РАБОТАЕТ
- ssl=требовать
Это ОШИБКИ с JTDS, ошибки с JDBC или неверная строка подключения? я могу подключиться к SQL Azure с помощью приложений dotnet (C#)