0

我是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程序中?有什么想法吗?

注意:服务器和我的电脑都是通过局域网连接的。

4

3 回答 3

5

是的,可以从 android 模拟器连接到 MSSQL。例如,如果其他系统有 IP,192.168.1.2那么您可以在模拟器中使用相同的 IP 连接到数据库。无论如何,不​​鼓励在 android 中使用 JDBC。 链接 将解释为什么不建议在 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 文件。不要忘记导入它们。

于 2013-03-04T06:58:35.870 回答
1

您不能直接访问远程数据库,唯一的访问方法是通过android中的Web服务。此外,任何与网络相关的任务都不要写在主线程上,请使用Asynctask。如果发布您的代码,您将如何访问将更加有用。

于 2013-03-04T06:12:27.210 回答
0

不建议从 android 创建 MSSQL 连接,最好在服务器中创建 web 服务并在 android 中使用 web 服务的输出。

于 2014-01-31T00:25:57.913 回答