-1

私は新しく、Android アプリケーションを Oracle データベースに接続しようとしています。私の現在のコードはエラーをスローしています:

android.os.NetworkOnMainThreadException ...

私の接続コードは次のとおりです。

public class ConnectOra {

    public String driver, url, ip, bd, usr, pass;
    public Connection conexion;

    public ConnectOra(String ip, String bd, String usr, String pass) {

        driver = "oracle.jdbc.driver.OracleDriver";
        this.bd = bd;
        this.usr = usr;
        this.pass = pass;
        url = new String("jdbc:oracle:thin:@" + ip + ":1521:" + bd);

        try {

            Class.forName(driver).newInstance();
            conexion = DriverManager.getConnection(url, usr, pass);

            // revisan el log para ver que tira....
            System.out.println("Conexion a Base de Datos " + bd + " Exitosa");
        } catch (Exception exc) {
            System.out.println("Error al tratar de abrir la base de Datos "
                                 + bd + " : " + exc + "ricardo");

        }
}

public Connection getConexion() {
    return conexion;
}

public Connection CerrarConexion() throws SQLException {
    conexion.close();
    conexion = null;
    return conexion;
}
4

3 に答える 3

0

U は AsyncTask を実装し、次を追加する必要があります。

とにかく、ローカル クライアントからリモート DB に直接接続するセキュリティの観点から、このモデルは何年も前に非常に正当な理由で消滅しました。この場合、Android では、apk ファイルがあれば、できます。それを解凍してからJavaソースファイルを逆コンパイルして、db資格情報を取得し、dbへの完全なアクセスを取得します。

于 2014-04-28T22:27:36.237 に答える