JTDS连接Sql Server2012,真机测试报错??

zkw261123 2017-09-25 06:30:45
是这样的,我打算写一个程序,通过JTDS连接电脑端的SQL Server 2012,虚拟机测试已经通过。但是一到真机测试就出现异常:

Network error IOException: Connection timed out

我用的JTDS是1.2.7版的
SQL Server 2012已经按照网上的说法正确配置了
这是连接数据库的代码:

/**
*
* @param server 数据库地址
* @param dbName 数据库名称
* @param userName 用户名
* @param userPwd 密码
*/
public MyJTDS(String server, String dbName, String userName, String userPwd) {
this.server = server;
this.dbName = dbName;
this.userName = userName;
this.userPwd = userPwd;
this.connStr = "jdbc:jtds:sqlserver://" + this.server + ":1433/" + this.dbName;
new Thread(new Runnable() {
@Override
public void run() {
Log.d("new Thread:","Start new Thread!");
try { // 加载驱动程序
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
Log.d("Connecting","Loading....");
con = DriverManager.getConnection(connStr, userName, userPwd);
//这一句(第21行)是发生异常的位置,异常信息在上面有
testConnection(con);
Log.d("Success:","Connect Database successfully!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
e.printStackTrace();
} catch (NetworkOnMainThreadException e) {
e.printStackTrace();
e.printStackTrace();
}catch (IllegalAccessException ie){
ie.printStackTrace();
}catch (InstantiationException ie){

}
}
}).start();
}


为什么虚拟机测试通过,而真机测试却不通过?
虚拟机是Nexus 5X 安卓8.0
真机是Sony XZ Premium,安卓7.1.1
...全文
275 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
网络咖啡 2017-09-26
  • 打赏
  • 举报
回复
换个别的版本的JTDS的jar文件试试

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧