0

サーバー上のローカルデータベースとデータを同期するアプリケーションを作成し、jdbcコードを使用してそれを達成しました。私のエミュレータでは問題なく動作しています。

データベースに接続するために使用しているサンプル コードを次に示します。ローカル データベースにアクセスするために jtds.jdbc を追加した jar ファイルを使用しています。

String driver = "net.sourceforge.jtds.jdbc.Driver";
            Class.forName(driver).newInstance();
            Connection conn = DriverManager
                    .getConnection(
                            "jdbc:jtds:sqlserver://195.169.100.1:1433/dbname",
                            "username", "password");
            Log.w("Connection", "open");
            Statement stmtUserDetails = conn.createStatement();
            //Fetching Data From Tbl
            ResultSet resetUserDetails = stmtUserDetails
                    .executeQuery("select UserName,Password,Priviledges from TblmyTable");

デバッグモードでデバイスを使用して接続しようとしているとき。LogCat で次のエラーが表示されます

11-02 13:19:05.249: D/SntpClient(73): request time failed: java.net.SocketException: Address family not supported by protocol

この問題を解決するために私を助けてください。

4

1 に答える 1

0

dbname は有効なソケットではないようです。

jdbc接続文字列を修正してみてください

    .getConnection( "jdbc:jtds:sqlserver://195.169.100.1:1433/dbname",
                        "username", "password");

アップデート

コメントで教えてくれたデータベース接続

 //192.165.100.3:1433/myTestDatabase", "aadi", "test123"

通常のインターネットからは到達できず(データベースを開こうとしただけです)、したがって物理デバイスからは到達できません。アクセスをブロックするファイアウォールはありますか?

于 2012-11-02T12:58:47.757 に答える