2017-03-14 241 views
0

このコードを使用してAndroid StudioをMicrosoft SQLサーバーに接続しました。同様に、私は私が私のAndroidのプロジェクトで使用したい私のオラクルDBにデータを持っているデータベースAndroid StudioとOracle DBを接続するための接続クラス

connectionClass = new ConnectionClass(); 
    Connection con = connectionClass.CONN(); 
       if (con == null) { 
        z = "Error in connection with server"; 
       } else { 
        Statement statement = con.createStatement(); 
        rs = statement.executeQuery("select Name from tblAppcustomer where Mobile='" + userid + "'"); 
        while (rs.next()) { 
         clientname = rs.getString("Name"); 
        } 
       } 

から値を取得するConnectionクラスのJavaファイルを使用し

public class ConnectionClass 
    { 
    String ip = "192.168.1.4"; 
    String classs = "net.sourceforge.jtds.jdbc.Driver"; 
    String db = "BlackForestProd"; 
    String un = "sa"; 
    String password = "[email protected]"; 

@SuppressLint("NewApi") 
public Connection CONN() 
{ 
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
    StrictMode.setThreadPolicy(policy); 
    Connection conn = null; 
    String ConnURL = null; 
    try 
    { 
     Class.forName(classs); 
     ConnURL = "jdbc:jtds:sqlserver://" + ip + ";" + "databaseName=" + db + ";user=" + un + ";password=" + password + ";"; 
     conn = DriverManager.getConnection(ConnURL); 
    } 
    catch (SQLException se) 
    { 
     Log.e("ERRO", se.getMessage()); 
    } 
    catch (ClassNotFoundException e) 
    { 
     Log.e("ERRO", e.getMessage()); 
    } 
    catch (Exception e) 
    { 
     Log.e("ERRO", e.getMessage()); 
    } 
    return conn; 
} 

}

。それと同じような方法がありますか?それとも他の方法がありますか?私はAndroid初心者です。

+0

アプリに含まれるユーザー名とパスワードは誰でも抽出できることを覚えておいてください。したがって、誰もがデータベースに接続し、使用されたDB資格情報のアクセス許可に応じてデータの読み取り/変更/削除を行うことができます... – Robert

答えて

0

Android(または他のモバイル)アプリから直接データベースにアクセスすることは可能ですが、一般的にはお勧めしません。 他にも、電話機が常にデータベースと同じネットワーク上にあることを保証することはできません。おそらく、データベースを一般公開することは望ましくありません。

これを行う通常の方法は、モバイルアプリからのリクエストを受け取り、データベースとやりとりし、結果をモバイルアプリに返すサーバーサイドのアプリを書くことです。 RESTインターフェイスの使用は一般的ですが、必須ではありません。