通过sql server express将Android应用程序连接到sql server
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过sql server express将Android应用程序连接到sql server相关的知识,希望对你有一定的参考价值。
我一直在寻找一种方法将android应用程序连接到SQL服务器。尝试了不同的代码并询问了许多程序员。没到任何地方。似乎问题出在连接url中。
我要做的应用程序涉及创建一些sql表。例如,在开始时,它需要修改用户针对其中一个表中的数据提供的登录数据。除了Android studio之外,我还被引导安装和使用SQL server express(没有别的)。
使用SQL server express 2008 R2我在我的计算机和表上创建了一个数据库。与服务器的连接不起作用。我找到的代码总是包含密码和连接的用户名。那是强制性的吗?我安装服务器时没有获得连接的用户名。它涉及获取实例名称和密码。
我搜索了连接url参数的信息,以便修复我得到的网址。找不到我需要改变的东西。
我找到了一个代码,通过它可以定义密码和用户名:
private Connection conn;
public mysqlConnection() throws SQLException {
System.out.println("At MySQLConnection()");
String driverName = "com.mysql.jdbc.Driver";
try {
Class.forName(driverName);
Properties props = new Properties();
props.setProperty("user","fred");
props.setProperty("password","secret");
props.setProperty("ssl","true");
String url = "jdbc:mysql://zivpc/workers?user=fred&password=secret&ssl=true";
Connection conn = DriverManager.getConnection(url);
this.conn = DriverManager.getConnection(url);
System.out.println("connected");
} catch (ClassNotFoundException e) {
System.out.println(e);
}
尝试连接结果时出现以下异常:CommunicationsException: Communications link failure
。
谢谢!
您将需要在Web服务器上运行的API(REST等),该Web服务器可以访问防火墙关闭的数据库服务器。并对您的API进行身份验证,以便您没有随机的人DDoSing您的服务和数据库。
您的数据库服务器根本不应暴露给互联网,也不能直接从您的客户端访问。您也不应该直接从客户端向数据库服务器发送SQL查询。您的API公开了一组功能,并且对客户端可以请求和接收的内容进行了非常严格的限制。
移动应用程序 - >互联网 - > Web服务器 - >防火墙 - > SQL Server
“我如何实现这个”的细节远远超出了Stack Overflow的范围。在线提供了大量的教程和演练。做出明智的选择。
附加说明:您说您正在使用SQL Server 2008R2 Express Edition。请注意,此版本的SQL Server将在不到三个月的时间内完成EOL。在过去的5年里,没有人应该对它进行新的开发。从2019年“引导”您安装此版本的人那里小心劝告。
以上是关于通过sql server express将Android应用程序连接到sql server的主要内容,如果未能解决你的问题,请参考以下文章
通过 Internet 连接到 SQL Server Express 2012
通过 servername\instancename 的 sql server express 连接
如何将所有数据库(快速)自 sql server 2008 express 传递到 sql server 2008 R2(无 express)
如何将远程 SQL Server Express 数据库的部分副本复制到本地 SQL Server Express 数据库?