0

JDBC と Eclipse IDE と Java を使用して、Android からデータベースに接続しようとしています。

これは私が書いたコードです

package Android_SQL.Package;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Properties;

import Android_SQL.Package.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import android.util.Log;

public class Android_SQLActivity 
extends Activity 
implements OnClickListener
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button My_Button = (Button) this.findViewById(R.id.button1);
        My_Button.setOnClickListener(this);        
    }


    @Override
    public void onClick(View arg0) {

        (new Thread(new Runnable() 
        {
            @Override
            public void run() 
            {
                // Connect
                try {               
                    String cs = "jdbc:sqlserver://192.168.0.29:1433;databaseName=ODB0336;user=sa;password=savage";
                    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");        
                    Connection con = DriverManager.getConnection(cs);
                    //String sql="insert into Categories(CategoryName, Description) values(?,?)";
                    String sql="insert into Colors(ColorId, ColorEName, ColorName) values(?,?,?)";
                    PreparedStatement prepared = con.prepareStatement(sql);
                    prepared.setString(1, "ABCD");
                    prepared.setString(2, "ABCDEF");
                    prepared.setString(2, "XYZ");                   
                    prepared.executeUpdate();           
                } catch (Exception e) 
                {
                    e.printStackTrace();
                    Log.i("Error", e.getMessage());
                }

            }
        }
        )
        ).start();                      
    }
}

しかし、接続すると次の例外が発生します。

「com.microsoft.sqlserver.jdbc.SQLServerException: recvfrom に失敗しました: ECONNRESET (ピアによる接続のリセット)」

それを修正する方法は?何が問題ですか。

JDBC のバージョンは次のとおりです。Microsoft SQL Server JDBC Driver 3.0

助けてください。

4

2 に答える 2

1

Android アプリケーションに JDBC の概念を使用しないでください。JDBC は、モバイル アプリケーション開発用ではなく、Web およびネットワーキング アプリケーション用です。

Androidでデータベース接続を学習するためのリンクは次のとおりです

データベースの例 1

データベース例 V2

于 2012-09-11T18:59:05.647 に答える
1

この例を見て、リモートデータベースに接続する方法を知っているでしょう:

例 1

于 2012-09-12T10:43:44.953 に答える