通过sql server express将Android应用程序连接到sql server

问题描述 投票:0回答:1

我一直在寻找一种方法将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

谢谢!

android sql-server
1个回答
0
投票

您将需要在Web服务器上运行的API(REST等),该Web服务器可以访问防火墙关闭的数据库服务器。并对您的API进行身份验证,以便您没有随机的人DDoSing您的服务和数据库。

您的数据库服务器根本不应暴露给互联网,也不能直接从您的客户端访问。您也不应该直接从客户端向数据库服务器发送SQL查询。您的API公开了一组功能,并且对客户端可以请求和接收的内容进行了非常严格的限制。

移动应用程序 - >互联网 - > Web服务器 - >防火墙 - > SQL Server

“我如何实现这个”的细节远远超出了Stack Overflow的范围。在线提供了大量的教程和演练。做出明智的选择。

附加说明:您说您正在使用SQL Server 2008R2 Express Edition。请注意,此版本的SQL Server将在不到三个月的时间内完成EOL。在过去的5年里,没有人应该对它进行新的开发。从2019年“引导”您安装此版本的人那里小心劝告。

© www.soinside.com 2019 - 2024. All rights reserved.