我是android开发的初学者。现在我试图通过emulator.MS SQL 2008 R2在另一台(服务器)机器上运行来连接MS SQL 2008 R2。我收到以下错误:
The TCP/IP connection to the host xxx.xxx.xx.x\SQL2008R2DEV has failed;
error: null;
verify connection properties.
make sure that instance of SQL server running on the host and accepting TCP/IP connection to the port are not blocked by Windows Firewall.
注意我已在java应用程序中完成此操作。我也可以访问我的数据库。 但为什么不能在android程序中? 有什么想法吗?
注意:两台服务器和我的PC都通过LAN连接。
答案 0 :(得分:5)
是的,可以从android模拟器连接到MSSQL。例如,如果另一个系统具有IP 192.168.1.2
,那么您可以在模拟器中使用相同的IP连接到数据库。无论如何在Android中使用JDBC都不受鼓励。 此 link 将解释为什么不建议在Android中使用JDBC。这是使用JDBC连接到MSSQL数据库的方法:
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Connection conn =DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=msdibya;user=dibya;password=dibya;");
System.out.println("connected");
Statement statement=conn.createStatement();
ResultSet resultSet=statement.executeQuery("select * from [user]");
while(resultSet.next()){
System.out.println(" "+resultSet.getString(1)+" "+resultSet.getNString(2));
}
} catch (Exception e) {
e.printStackTrace();
}
我希望你有合适的jar文件。别忘了导入它们。
答案 1 :(得分:1)
你无法直接访问远程数据库只能通过android中的web服务进行访问。任何与网络相关的任务都不会在主线程上写入使用Asynctask。如果发布你的代码你将如何访问将更多是有用的。
答案 2 :(得分:0)
不建议从android创建MSSQL连接,最好在服务器中创建Web服务,并在android中使用Web服务。