我试图连接到当前托管在本地计算机上的SQL Server数据库。我正在使用以下代码进行连接:
public class DBConnect { private static volatile DBConnect INSTANCE = null; String URL = ""; Connection conn = null; Statement statement = null; ResultSet resultSet = null; private DBConnect() { } public static DBConnect getInstance() { if (INSTANCE == null) { synchronized (DBConnect.class) { INSTANCE = new DBConnect(); } } return INSTANCE; } public void setConnection(String DBName, String UserName, String Password) { try { Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance(); URL = "jdbc:jtds:sqlserver://192.168.0.81:1433;instanceName=SQLEXPRESS;DatabaseName=" + DBName + ";integratedSecurity=true;user=" + UserName + ";password=" + Password; conn = DriverManager.getConnection(URL); } catch (Exception e) { e.printStackTrace(); } }
这对我的Genymotion模拟器有效,因为我还执行了选择操作并看到了显示的结果。
我正在使用JTDS驱动程序来执行此操作
但是,当我尝试使用在同一Wi-Fi网络上的真实设备无法正常工作时,出现连接错误。
任何想法我为什么要得到这个?
这是我的错误日志:
java.sql.SQLException: Network error IOException: failed to connect to /192.168.0.81 (port 1433) after 90000ms 07-18 08:29:09.465 27413-27514/ordermanager.sentosa.ro.ordermanager W/System.err﹕ at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:410) 07-18 08:29:09.466 27413-27514/ordermanager.sentosa.ro.ordermanager W/System.err﹕ at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:187) 07-18 08:29:09.466 27413-27514/ordermanager.sentosa.ro.ordermanager W/System.err﹕ at java.sql.DriverManager.getConnection(DriverManager.java:175) 07-18 08:29:09.467 27413-27514/ordermanager.sentosa.ro.ordermanager W/System.err﹕ at java.sql.DriverManager.getConnection(DriverManager.java:140) 07-18 08:29:09.467 27413-27514/ordermanager.sentosa.ro.ordermanager W/System.err﹕ at ordermanager.sentosa.ro.ordermanager.utils.DBConnect.setConnection(DBConnect.java:39) 安卓 sql SQL服务器
我可以看到您的问题的两种可能的解决方案:
ALTER DATABASE database-name SET ONLINE