0
我是Android應用程序開發的新手,我嘗試使用本地MS JDBC驅動程序(sqljdbc4.jar)連接到Azure SQL數據庫,並且繼續獲取以下錯誤:通過ms jdbc連接到Azure SQL數據庫的Android應用程序錯誤
「錯誤連接:驅動程序無法通過使用安全套接字層(SSL)加密與SQL Server建立安全連接錯誤:」套接字已關閉「。
雖然我能夠用相同的連接字符串連接到數據庫。
我使用Android 2.1.3工作室,我真的在我無計可施...... 這裏是代碼:
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String username = "<>";
String password = "<>";
java.sql.Connection DbConn = DriverManager.getConnection("jdbc:sqlserver://<myserver>:1433;databaseName=thumbsupp;user=" + username + ";password=" + password + ";encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;");
我甚至試圖在代碼上打開端口1433的插座:
SocketFactory sf = SSLSocketFactory.getDefault();
SSLSocket socket = (SSLSocket) sf.createSocket("<myserver>", 1433);
HostnameVerifier hverify = HttpsURLConnection.getDefaultHostnameVerifier();
SSLSession ssoc = socket.getSession();
但沒有佔上風,雖然我得到true
打電話時
hverify.verify();
我是否缺少Android Studio的一些配置?
編輯:如果檢查套接字上啓用的協議:
socket.getEnabledProtocols();
的唯一協議,我回來是TLS1.0,TLS1.1和TLS1.2?