有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将安卓应用程序连接到本地MS SQL数据库

我正在尝试将我的Android应用程序连接到本地机器数据库MS SQL。这是我的连接字符串:

jdbc:jtds:sqlserver://localhost:1433/DajSve;encrypt=false;user=root;password=null;instance=FALE//SQLEXPRESS;

我得到了这个错误:

java。sql。SQLException:网络错误IOException:无法连接到本地主机/127.0.0.1(端口1433):连接失败:ECCONREPENDED(连接被拒绝)

我试了很多东西。多次更改连接字符串,启用TCP/IP并将其设置为端口1433,还关闭了防火墙,但没有任何帮助。我总是遇到同样的SQL异常。我正在使用SQL Server 2016

  try {

        Class.forName(className).newInstance();
        connection = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/DajSve;encrypt=false;user=root;password=null;instance=FALE//SQLEXPRESS;");

        System.out.print("Uspjesno spojeni na bazu");
        Statement stmt = connection.createStatement();
        ResultSet reset = stmt.executeQuery("select * from Korisnik");

        if (!reset.isBeforeFirst() ) {
            System.out.println("nema podataka");
        }else{
            System.out.println("ima podataka");
        }

    } catch (SQLException e) {
        e.printStackTrace();
        System.out.print("Greska pri spajanju na bazu");
    } catch (ClassNotFoundException e){
        System.out.print("Greska - klasa nije pronađena");
    } catch (InstantiationException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    }

我知道有很多类似的问题,但没有一个答案有帮助


共 (1) 个答案

  1. # 1 楼答案

    failed to connect to localhost/127.0.0.1

    你的Android设备没有运行SQL Server。给出网络上的实际服务器地址(但实际上不要,因为你不应该将数据库凭据存储为应用程序的一部分,再加上持久的JDBC连接会缩短电池寿命)

    当代码存在于远程设备上时,它不是本地数据库

    实际上,你需要创建一个新的应用程序,作为Android应用程序和数据库之间的后端API,在这里你可以公开连接到数据库的函数,并在那里解析结果,而不是在Android应用程序中完成所有操作