0

アプリケーションで問題が発生しています

これが私のアクティビティで例外「ErrorConnectionnet.sourceforge.jtds.jdbc.Driver」をスローするコードです。

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sync = (Button) findViewById(R.id.button1);
        sync.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                query2(); }
        });
        }
    public void query2()
    {
    Log.i("Android"," SQL Connect Example.");
    Connection conn = null;
    try {
    String driver = "net.sourceforge.jtds.jdbc.Driver";
    Class.forName(driver).newInstance();
    //test = com.microsoft.sqlserver.jdbc.SQLServerDriver.class;
    String connString = "jdbc:jtds:sqlserver://server_ip_address         :198.168.0.10/tracebaledb;encrypt=fasle;user=sa;password=SqlServer2005;instance=SQLEXPRESS;";
    String username = "sa";
    String password = "SqlServer2005";
    conn = DriverManager.getConnection(connString,username,password);
    Log.w("Connection","open");
    Statement stmt = conn.createStatement();
    ResultSet reset = stmt.executeQuery("select * from AD_Login");

    //Print the data to the console
    while(reset.next()){
    Log.w("Data:",reset.getString(3));
                  Log.w("Data",reset.getString(2)); }
    conn.close();

    } catch (Exception e)
    {
    Log.w("Error connection","" + e.getMessage());
    }
    }    
}
4

2 に答える 2

0

Web サービスを介して SQL Server データベースに接続できます。

Web サービスを呼び出すサンプル コードを次に示します。

String url              = "your_webservice_URL";

 try 
 {
    HttpPost loginHttpPost   = new HttpPost(url); 
    HttpContext localContext = new BasicHttpContext();          

    MultipartEntity multipartContent = new MultipartEntity();
    multipartContent.addPart("parameter1", new StringBody(value1));
    multipartContent.addPart("parameter2", new StringBody(value2));
    loginHttpPost.setEntity(multipartContent);

    HttpClient objHttpClient = new DefaultHttpClient();
    HttpResponse response = objHttpClient.execute(loginHttpPost,localContext);
 } 
 catch (IOException e) {
     e.printStackTrace();

Manifest.xml ファイルでパーミッションを設定していることを確認してください。

この値を取得して SQL Server に接続するには、php または Java で Web サービスを記述します。

于 2012-11-24T12:27:29.603 に答える
0

もう 1 つの方法は、3 層アーキテクチャを使用する仮想 JDBC ドライバーを使用することです。JDBC コードは、SQL Server JDBC ドライバーに渡す前に、JDBC コード (構成とセキュリティ) をフィルター処理するリモート サーブレットに HTTP 経由で送信されます。結果は HTTP 経由で返されます。この手法を使用するフリー ソフトウェアがいくつかあります。データベースが直接公開されることはなく、SSL を使用できるため、これは安全です。「Android JDBC Driver over HTTP」をグーグルで検索してください。

于 2013-02-11T15:31:39.500 に答える