0

私はアンドロイド開発の初心者です。別の(サーバー)マシンで実行されている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 経由で接続されています。

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 に答える