通过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 数据库?

通过更改 exe.config 连接到另一台计算机的 SQL Server Express

如何从 C# 代码将 SQL Server CE 迁移到 SQL Server 2012 Express