繁体   English   中英

从Android连接到MS SQL数据库时出错

[英]Error Connecting from android to MS SQL database

我一直在尝试从android连接到Microsoft SQL Server的数据库。 但是我做不到。 请帮忙。 我已经尝试了很多东西。 我正在使用jtds-1.3.1我也尝试使用1.3.0版本。 但是还是失败了。 请帮忙。

public class ConnectionClass {
String ip = "192.168.0.101\\SQLEXPRESS:1433";
String classs = "net.sourceforge.jtds.jdbc.Driver";
String db = "dictionary";
String un = "";
String password = "";

@SuppressLint("NewApi")
public Connection CONN() {
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
            .permitAll().build();
    StrictMode.setThreadPolicy(policy);
    Connection conn = null;
    String ConnURL = null;
    try {

        Class.forName(classs);
        ConnURL = "jdbc:jtds:sqlserver://" + ip + ";"
                + "databaseName=" + db + ";user=" + un + ";password="
                + password + ";";
        conn = DriverManager.getConnection(ConnURL);
    } catch (SQLException se) {
        Log.e("ERRO", se.getMessage());
    } catch (ClassNotFoundException e) {
        Log.e("ERRO", e.getMessage());
    } catch (Exception e) {
        Log.e("ERRO", e.getMessage());
    }
    return conn;
}
}

我收到此错误:

E / ERRO:未知的服务器主机名'主机未解析:192.168.0.101 \\ SQLEXPRESS'。

我也尝试过从上面的行中删除SQLEXPRESS(例如:192.168.0.101:1033),但是接下来会出现另一个错误。

我从MS SQL启用了TCP / IP,也从防火墙允许了端口1433,也从防火墙允许了MS SQL。 还检查了MS SQL的允许远程连接。

请帮忙。 谢谢..

这不是有效的网址。 您需要单独使用IP或scheme:// ip。 但是,不建议直接从移动设备连接到数据库-这样做需要您在应用程序中输入密码,这意味着使用该应用程序的任何人都可以访问您的密码。 请改用Web服务,并将密码仅保留在服务器上以确保安全。

另外,请勿设置严格模式。 首先,它是一个hack。 其次,它不适用于所有设备。 第三,如果需要,您将使您的应用程序无响应,并且很可能由于看门狗计时器而崩溃。 您看到的使用它的任何站点都不知道他们在做什么。

这不是真实的地址'192.168.0.101 \\ SQLEXPRESS:1433'就像这样'192.168.0.101'

不要在您的设备上尝试(有时它看不到服务器的IP),首先使用任何“仿真器”尝试它,也不要忘记在VirtualBox上进行网络设置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM