【发布时间】:2019-04-20 11:48:01
【问题描述】:
我一直在寻找一种将 Android 应用程序连接到 SQL 服务器的方法。尝试了不同的代码并询问了许多程序员。没有得到任何地方。看来问题出在连接url上。
我要做的应用程序涉及创建一些 sql 表。例如,在开始时,它需要根据其中一个表中的数据验证用户提供的登录数据。 除了 Android Studio,我还被引导安装和使用 SQL server express(仅此而已)。
我使用 SQL server express 2008 R2 在我的计算机上创建了一个数据库和一个表。与服务器的连接不起作用。我发现的代码总是涉及连接的密码和用户名。这是强制性的吗?安装服务器时,我没有获得连接的用户名。它涉及获取实例名称和密码。
我搜索了有关连接 url 参数的信息,以修复我得到的 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。
谢谢!
【问题讨论】:
-
首先,JDBC 不是为与移动设备一起使用而设计的,移动设备的连接可能会在随机点断开,请重新考虑您在做什么。除此之外,您的代码适用于 MySQL。 MySQL 不是 SQL Server。
-
我参与的任务是通过 sql server express 将一个 android 应用程序连接到 sql 数据库。有没有合适的方法来做到这一点,例如,使用 jdbc 以外的东西?
-
从移动客户端与服务器通信的典型方式是通过 Web 服务。 Web 服务与数据库对话; Android 或 iOS 应用程序与 Web 服务对话。
标签: android sql-server