我已经开始开发一个连接到 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/