Java Android应用程序MS SQL Server身份验证仅适用于WIFI
问题:我的应用程序可以成功连接到Microsoft SQL 2014服务器,但仅当我的手机通过WIFI连接时。一旦我关闭WIFI,我就无法再连接。它不应该切换到4G连接吗 代码:Java Android应用程序MS SQL Server身份验证仅适用于WIFI,java,android,sql,sql-server,networking,Java,Android,Sql,Sql Server,Networking,问题:我的应用程序可以成功连接到Microsoft SQL 2014服务器,但仅当我的手机通过WIFI连接时。一旦我关闭WIFI,我就无法再连接。它不应该切换到4G连接吗 代码: 这里有几种可能性: 您的设备未设置为自动切换到4G连接。 您的移动提供商正在阻止该类型的流量或端口。 由于4G连接延迟增加,您的连接超时。 当您关闭wifi时,您无法连接?为什么你会期望有什么不同?它不应该切换4G吗?或者我遗漏了一些建议,比如1,我尝试在完全关闭wifi的情况下启动应用程序,所以从一开始就纯粹是4g连
这里有几种可能性: 您的设备未设置为自动切换到4G连接。 您的移动提供商正在阻止该类型的流量或端口。 由于4G连接延迟增加,您的连接超时。
当您关闭wifi时,您无法连接?为什么你会期望有什么不同?它不应该切换4G吗?或者我遗漏了一些建议,比如1,我尝试在完全关闭wifi的情况下启动应用程序,所以从一开始就纯粹是4g连接,没有运气。2我有Verizon Wireless,这是他们封锁的端口吗?3我将服务器上的超时更改为无超时,仍然得到相同的结果。
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);
}
}
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.