当前位置: 首页 > 知识库问答 >
问题:

Android应用程序通过ms jdbc连接到Azure SQL DB时出错

羊舌志
2023-03-14

我是Android应用程序开发新手,我正在尝试使用本机MS JDBC驱动程序(sqljdbc4.jar)连接到Azure SQL DB,我不断遇到以下错误:

“错误

不过,我可以用与squirrel相同的连接字符串连接到DB。

我使用android Studio 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();

尽管我打电话时得到了正确的,但没有成功

hverify.verify();

我是否错过了Android Studio的一些配置?

编辑:如果检查套接字上启用的协议:

socket.getEnabledProtocols();

我得到的唯一协议是TLS1.0、TLS1.1和TLS1.2??

共有1个答案

阎淮晨
2023-03-14

似乎有很多SO/MSDN线程都有相同的问题。同时,一种变通方法是使用jTDS驱动程序而不是MS SQL Server JDBC驱动程序。

请参考下面的这些线程来解决您的问题。

  1. Sql数据库连接使用JDBC驱动程序与android
  2. https://social.msdn.microsoft.com/Forums/sqlserver/en-US/4799819a-27fd-4292-a3d8-f114207c20b2/using-the-jdbc-driver-with-android?forum=sqldataaccess
  3. https://blogs.msdn.microsoft.com/nickhodge/2010/01/25/jdbc-to-sql-azure/

希望有帮助。

 类似资料:
  • 我正在使用Firebase GMS服务开发android应用程序。 我试着按照他们的教程去做,我按照他们说的做了项目,下载了json文件。 但当我尝试将我的应用程序连接到Firebase时。他们告诉我错误 无法解析Android应用程序模块的Gradle配置。解析gardle构建issuse和/或重新同步。 然而,我认为我的等级脚本是完美的(我会把它们写在页面的底部) 这是我的等级构建控制台 这是

  • 免责声明:我知道人们通常不会这样做,我使用SQL数据库是出于成本原因,而且我对编程比较陌生。 我正在尝试从我的Android Studio应用程序向我的MariaDB数据库发送SQL脚本。我目前正在为MariaDB实现一个Java数据库连接(JDBC)驱动程序,但我不确定需要包括什么。 我去了JDBC MariaDB驱动程序的下载网站,但是有很多jar文件,我可以选择下载。你怎么知道你需要哪一个,

  • 我正在尝试连接到远程主机以发出命令,但在运行代码时收到以下错误消息: SSH:握手失败:SSH:密钥交换没有通用算法;提供的客户端:[curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 difffie-hellman-group14-sha1],提供的服务器:[difffie-h

  • 如果使用oraDB18Home1进行连接,则会出现以下错误apear。 尝试检索错误ORA-12541的文本时出错 检查项目 TNS_ADMIN环境变量定义为“C:\app\muhiuddin\product\18.0.0\dbhomeXE\network\ADMIN” 找到了“C:\app\muhiuddin\product\18.0.0\dbhomeXE\network\admin\sqlne

  • 我是Django的新手。我已经创建了一个名为,它在浏览器和邮递员应用程序中都能完美运行。 然而,当我试图从Android应用程序访问API时,它返回NULL。 当API如下所示时,android代码可以工作。 但是,当API为以下API时,它不起作用,即使以下API在同一台PC上运行的浏览器和Postman应用程序中运行良好。 我将代码附加到进行API调用的地方。 有人能帮我吗?提前感谢。

  • 我在Android Studio做了一个登录和注册系统。每当我启动应用程序并登录或向数据库添加新用户时,都会出现以下错误: runtimeException:执行doInBackground()时发生错误 在这里输入代码02-04 16:51:58.079 123 63-12496/com.example.app e/AndroidRuntime:致命异常:AsyncTask#1 java.lan