java - android 到 sqlserver 的连接字符串

标签 java android sql-server

我已经开始开发一个连接到 SQLServer 数据库的 android 应用程序,我已经使用此连接字符串成功连接到数据库:

ConnURL = "jdbc:jtds:sqlserver://" + _IP+ ":" + _Port + ";" + "databaseName=" + _DB + ";useNTLMv2=true;integratedSecurity=true";

但只有当我在连接到与服务器连接的同一网络的设备上尝试它时它才有效,因为我在连接字符串中输入的 IP 是 192.168.1.7。 如果我在另一个网络中尝试它,我应该怎么做才能让它工作?我尝试用从 What Is My IP 获得的 IP 地址替换该 IP 地址 但它不会连接。

最佳答案

那是因为您位于 NAT 后面,并且外部世界无法访问该地址。您需要移动到具有真实 IP 地址的服务器,或者在 NAT 中戳一个洞并允许地址重新路由。

但这没关系,因为无论如何你都不应该像这样直接连接到数据库——你不仅必须允许从公共(public)互联网访问你的数据库服务器,而且你必须将你的登录信息放在你的公共(public)应用程序中。完全没有安全感。你和数据库之间应该有一个网络服务。 webservice应该是唯一一个有密码的,它应该从数据库中获取数据并以json或xml格式返回。

关于java - android 到 sqlserver 的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29177368/

相关文章:

java - 在 java 中使用 GSON 解析 JSON 并填充 ListView

java - 有没有办法从 Firestore 获取对象的值?

sql-server - 如何使用 Sinon 来使用 mssql 库对与数据库的交互进行 stub ?

sql - 使用 SQL 按分隔符分割字符串

Java lambda 聚合器

java - 从 Shell 脚本调用 Java 方法

android - google-java-format 依赖同步但没有得到构建。

java - Class.forName android NoClassDefFoundError -> ClassNotFoundException

android - Realm 在多线程场景中给出陈旧的结果

sql - 是否可以同时更新 SQL Server 数据库和 Informix 数据库?