我已经开始开发一个连接到SQLServer DB的Android应用程序,我已经使用这个连接字符串成功连接到DB:
ConnURL = "jdbc:jtds:sqlserver://" + _IP+ ":" + _Port + ";" + "databaseName=" + _DB + ";useNTLMv2=true;integratedSecurity=true";
但是只有当我在连接到连接服务器的同一网络的设备上尝试它时它才有效,因为输入连接字符串的IP是192.168.1.7。 如果我在另一个网络中尝试它,我该怎么做才能使它工作?我尝试用What Is My IP获得的IP地址替换该IP地址 但它不会连接。
答案 0 :(得分:2)
那是因为你在NAT后面并且该地址无法通往外界。您需要移动到具有真实IP地址的服务器,或在NAT中戳一个洞并允许地址重新路由。
但是没关系,因为你不应该直接连接到这样的数据库 - 你不仅要允许从公共互联网访问你的数据库服务器,而且你必须将你的登录信息放在你的公共应用程序中。完全没有安全感。您和db之间应该有一个Web服务。 Web服务应该是唯一一个带密码的服务器,它应该从数据库中获取数据并以json或xml格式返回。