在android和oracle数据库之间连接的最佳方法是什么?

时间:2012-01-17 12:33:43

标签: android oracle

我需要从我的应用程序android访问外部oracle数据库中的数据来更新本地数据库应用程序,但我不知道最好的方法是什么。 我是否需要创建一个Web服务来访问oracle数据库,还是有另一种简单的方法?

由于

8 个答案:

答案 0 :(得分:17)

你有(至少)两个选择:

  1. 使用Oracle Database Mobile Server。 (最好,最安全的赌注)

  2. 下载JDBC Drivers并以此方式连接。 (不推荐,不安全 - 特别是对于无线连接)

答案 1 :(得分:3)

查看我的Android-Oracle Connectivity博文。这有望帮助你。如果还有问题。让我知道。

答案 2 :(得分:0)

您无法从Android应用程序直接访问Oracle数据库。您需要使用PHP,.net或Java创建Web服务以与Oracle数据库建立连接。创建此Web服务后,您需要将应用程序与Web服务连接。这是与Oracle数据库连接的最简单方法。

答案 3 :(得分:0)

在Android中

你只能直接连接SQLiteDatabase .. 如果你想与MYSQL或Oracle连接,你必须创建Web服务,无论它是在PHP,.NET还是在JSP上。 但没有Web服务,你不能在android中使用oracle ...

它也可以通过JDBC连接完成,但我没有确切的例子......

答案 4 :(得分:0)

有一种比编写WebService更简单的方法,并且仍然保持相同的安全级别:使用使用三层体系结构的虚拟JDBC驱动程序:您的JDBC代码通过HTTP发送到过滤JDBC代码的远程Servlet (配置和安全性)在将其传递给Oracle JDBC驱动程序之前。结果通过HTTP发回。有一些免费软件使用这种技术。只是Google“基于HTTP的Android JDBC驱动程序”。

答案 5 :(得分:0)

  

我认为没有直接的方法将android应用程序与oracle db连接起来。   为此你需要php或java或.net的web服务。   根据我的PHP是连接Android应用程序与外部数据库的最佳方式。为此,你需要一个主机一个php页面。这个页面直接与oracle数据库连接。用于连接Android应用程序与PHP页面你需要一个json解析,这在Android应用程序开发中很容易。

答案 6 :(得分:0)

此外,还有一个使用SAP-Sybase(中线)和ORACLE的强大3层架构。使用JTDS驱动程序将Sybase DB连接到ORACLE。然后,在Android中使用您的生成代码。供参考:SQL Server and Sybase Databases

答案 7 :(得分:0)

ORACLE数据库与LAN的ANDROID连接

授予一些明确权限

<permission
        android:name="info.android.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="info.android.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

MainActivity Class

    package example.com.myapplication;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import android.os.StrictMode;

    public class MainActivity extends AppCompatActivity {

    private static final String DEFAULT_DRIVER = "oracle.jdbc.driver.OracleDriver";
    private static final String DEFAULT_URL = "jdbc:oracle:thin:@192.168.0.1:1521:xe";
    private static final String DEFAULT_USERNAME = "system";
    private static final String DEFAULT_PASSWORD = "oracle";

    private Connection connection;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (android.os.Build.VERSION.SDK_INT > 9) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }

        TextView tv = (TextView) findViewById(R.id.hello);


                try {
                    this.connection = createConnection();
                    e.Log("Connected");
                    Statement stmt=connection.createStatement();

                    ResultSet rs=stmt.executeQuery("select * from cat");
                    while(rs.next()) {
                        System.out.println("hello : " + rs.getString(1));
                    }
                    connection.close();
                }
                catch (Exception e) {
                    e.Log(""+e);
                    e.printStackTrace();
                }
            }

            public static Connection createConnection(String driver, String url, String username, String password) throws ClassNotFoundException, SQLException {

                Class.forName(driver);
                return DriverManager.getConnection(url, username, password);
            }

            public static Connection createConnection() throws ClassNotFoundException, SQLException {
                return createConnection(DEFAULT_DRIVER, DEFAULT_URL, DEFAULT_USERNAME, DEFAULT_PASSWORD);
            }
        }

先决条件是:注意,不需要添加依赖项lib ojdbc14.jar只需将ojdbc14.jar复制到您的JAVA_HOME jre - &gt; lib - &gt;分机和粘贴到这里ojdbc14.jar然后首先通过cmd / terminal手动检查jdbc连接make make simple java program http://www.javatpoint.com/example-to-connect-to-the-oracle-database