适用于Oracle 10g的Android ODBC连接[复制](android odbc conn

2019-09-28 19:15发布

可能重复:
Android的JDBC ODBC连接

以前我用过的Oracle数据库11g为我的Android应用程序,并成功地存储的值。 不幸的是我的Oracle数据库11g无法打开,由于一些问题。 我卸载的Oracle 11g并安装Oracle数据库10g版本。 现在我编译甲骨文程序,并关闭仿真器和开放的表中的值不能保存。 我不知道这个问题是如何发生的。 在这里,在我的代码,我把端口号1521和SID是“ORCL”和表名是“样本”。 请给出一个解决方案,并在端口号和SID的任何变化。 提前致谢

      package com.search;

      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.PreparedStatement;

      import android.app.Activity;
      import android.os.Bundle;

     public class OraclesearchActivity extends Activity {
   /** Called when the activity is first created. */
    @Override
     public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    String a="karthick";
    String b="vijay";
    String c="vel";
    try
    {
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

        Connection         con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.2:1521:orcl","system","words");

        PreparedStatement pst=con.prepareStatement("insert into sample(first,middle,last)values(?,?,?)");
        pst.setString(1,a);
        pst.setString(2,b);
        pst.setString(3,c);
        pst.executeUpdate();

    }
    catch(Exception e)
    {
        System.out.println("Exception:"+e);
    }
}
 }

Answer 1:

也许得不到答案您所渴望的,但我会认真质疑具有移动设备的智慧直接连接到Oracle或任何DBMS。

相反,考虑把一个REST或SOAP服务在DBMS的前面,让您的移动应用程序连接到。

一些好处包括:

  • 当你的数据库管理系统或数据库管理系统的驱动程序版本改变,你只需要更新您的服务...不是潜在的大量的移动设备。
  • 你不要有哪些潜在的丢失或以其他方式在恶劣的环境中如果有人可以尝试蛮力任何方式你已尝试以确保凭证结束了在移动设备上的凭据您的DBMS。
  • 你的服务可以支持许多不同类型的客户端/移动设备,而不必担心找不到一个Oracle驱动该设备,说的iOS,例如。
  • 您可以通过服务更加妥善地处理服务中断/计划的停机时间......通过服务响应,宣布不可用或替代方案,而不是仅仅不能够获得这可能是由网络连接不良区分的连接。
  • 您将有丰富的选择,以适应不同的缓存选项,验证增强服务和应用更细粒度或上下文特定的授权可能比你想在Oracle中实现的东西。 -

也许你确实有一些硬性要求,直接连接,但我认为这将是一个难得的和非常具体的要求。 在更普遍的做法似乎是缓冲带,为您提供更大的灵活性服务层的连接,恕我直言。

祝好运。



Answer 2:

我同意第一个答案,直接连接移动设备的RDBMS不推荐。 有严重的安全隐患这一点,更何况性能等方面的影响。

如果你不想去建立你自己的Web服务的麻烦,有一种方法在数据库级别来处理它。 甲骨文实际上提供了专门为此而设计的产品。 这就是所谓的数据库移动服务器。

http://www.oracle.com/technetwork/products/database-mobile-server/overview/index.html

你可以阅读有关它在那里,还可以下载和从下载选项卡试试。 除了Oracle数据库,你需要一个应用服务器。 被推荐的WebLogic或Glassfish的。

它提供了多种优势,主要一个是没有任何额外的开发工作同步从一个Oracle后端的Android设备的SQLite数据的能力。 你得到了应用在断开连接模式下运行,以及能力。

祝你好运与您的项目。

埃里克·詹森,甲骨文PM



文章来源: android odbc connection for oracle 10g [duplicate]