Android应用程序MS SQL Server身份验证仅适用于WIFI
问题描述:
问题:我的应用程序可以成功连接到Microsoft SQL 2014服务器,但只能在通过WIFI连接手机时使用。只要我关闭WIFI,我就不能再连接了。它不应该切换到4G连接?Android应用程序MS SQL Server身份验证仅适用于WIFI
代码:
private class AuthenticateDB extends AsyncTask<String[], Void, Connection> {
private OnAuthenticationSuccess mCallbacks;
private String userName;
private AuthenticateDB(OnAuthenticationSuccess callbacks){
this.mCallbacks = callbacks;
}
@Override
protected Connection doInBackground(String[]... params) {
Connection connection;
userName = params[0][0];
String password = params[0][1];
String serverIP = params[0][2];
String connString = "jdbc:jtds:sqlserver://" + serverIP + "/" +
DatabaseContract.DATABASE_NAME + ";instance=" +
DatabaseContract.DATABASE_INSTANCE + ";";
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
connection = DriverManager.getConnection(connString,userName,password);
} catch (Exception e){
e.printStackTrace();
return null;
}
return connection;
}
@Override
protected void onPostExecute(Connection connection) {
mCallbacks.notifyAuthenticationComplete(connection,userName);
}
}
我已尝试使用DNS地址的实际IP地址更改连接的IP地址,并与&试了一下没有端口号(1433)。我使用的IP不是localhost或127.0.0.1,或者是服务器名称。这是实际的广域网IP地址,它只能用于连接到WIFI的手机。
错误:
09-25 12:45:45.380 7338-7380/com.periapsislabs.assettracker W/System.err﹕
ava.sql.SQLException: Unable to get information from SQL Server: 98.219.231.54.
答
这里有几种可能性:
- 您的设备未设置为自动切换到4G连接。
- 您的移动提供商正在阻止该类型的流量或端口。
- 由于4G连接的延迟增加,您的连接超时。
+0
感谢您的建议,至于#1我尝试开始与WiFi完全关闭的应用程序,所以它从一开始纯粹是一个4克连接,没有运气。 #2我有Verizon Wireless,这是他们阻止的端口吗? #3我将服务器上的超时更改为不超时,仍然得到相同的结果。 – 2014-09-25 17:59:09
当您关闭wifi无法连接?你为什么期望有什么不同? – 2014-09-25 16:58:27
不应该切换4G吗?或者我错过了什么 – 2014-09-25 17:01:48