在android中连接到oracle

2023-12-05

所以人们可能会告诉我这是一个坏主意,但我至少想尝试一下。

EDIT该应用程序的目的是,仅当设备属于 oracle db 所在网络或通过 VPN 连接到网络时,它才能工作。数据库中的信息无法全局访问,这就是为什么我需要直接连接到 oracle 数据库。

现在根据这个线程

在android应用程序中连接oracle

他成功查询了oracle db。

所以我有一个相当基本的类,在初始化时将尝试连接到我的数据库。

package com.producermobile;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import android.util.Log;

public class ConnectOra {
    private Connection conn;
    private Statement stmt;
    public ConnectOra() throws ClassNotFoundException {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            String url = "jdbc:oracle:thin:@x.x.x.x:1521:PR10";
            this.conn = DriverManager.getConnection(url,"xxx","xxx");
            this.conn.setAutoCommit(false);
            this.stmt = this.conn.createStatement();
        } catch(SQLException e) {
            Log.d("tag", e.getMessage());
        }       
    }
    public ResultSet getResult() throws SQLException {
        ResultSet rset = stmt.executeQuery("select customer from customers");
        stmt.close();
        return rset;            
    }
}

在我的主要活动 onCreate 方法中我有这个

@Override
public void onCreate(Bundle savedInstanceState) {
    try {
        super.onCreate(savedInstanceState);
        ConnectOra db = new ConnectOra();
        ResultSet rs = db.getResult();
        ArrayList<String> list = new ArrayList<String>();
        while(rs.next()) {
            list.add(rs.getString(1));
        }
        setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, list));

        ListView lv = getListView();
        lv.setTextFilterEnabled(true);          
    } catch(Exception e) {

    }
}

在 Eclipse 中,我将外部 ojdbc14.jar 文件添加到构建路径。

然而当我跑步时

this.conn = DriverManager.getConnection(url,"xxx","xxx");

我收到以下异常

“Io异常:网络适配器 无法建立连接”

但是,如果我使用 main 方法在标准 java 应用程序中创建此类的实例,则连接有效。有任何想法吗?


Oracle有一款产品既提供与Oracle DB的数据同步,又提供离线功能;它被称为移动服务器

其工作方式是,您只需将数据存储在 SQLite 中,Oracle 客户端将处理同步。当然,您必须安装和配置移动服务器,并且需要配置每个新设备,但一旦完成,它就“正常工作了!”

上面的链接中有一个下载选项卡,您可以下载并尝试一下您喜欢的。

我希望这有帮助。祝你的问题好运。

Regards

埃里克,甲骨文产品经理

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在android中连接到oracle 的相关文章

随机推荐

  • 寻找 .NET SNMP 扩展代理

    我正在开发一个 C 针对完整框架 4 Windows 应用程序 我需要该应用程序写入一些简单的计数器 更重要的是 当发生重大应用程序事件时 引发 或者应该触发 一些 SNMP 陷阱 现在大多数可用的 NET SNMP 库都可以做到这一点 到
  • Angularjs 加载模板很慢

    我有一些并没有真正做太多的事情 但它确实需要最长的时间来加载 我把代码写出来给大家看 app js var simple simple test angular module CRTapp controller ItemController
  • Android:在操作栏上添加 searchView

    我的完整项目如下 有一个listView连接到数据库和带建议的搜索选项 我想将此搜索栏移至操作栏并格式化它就像Google Play 商店搜索栏 请帮助我 我的完整代码是 MainActivity java package com Gurb
  • 输出到[Word]文档时,如何在SSRS(RDLC报告)的每个页面上重复表组标题?

    正如中提到的微软文档 Word 不会在第二页及以上页面重复标题行 尽管您 设置 tablix 中静态标题行的 RepeatOnNewPage 属性 表 矩阵或列表 为 True 您可以定义显式分页符 在报告中强制标题行出现在新页面上 然而
  • python 中的网页抓取 urlopen

    我正在尝试从该网站获取数据 http www boursorama com includes cours last transactions phtml symbole 1xEURUS 看来 urlopen 没有得到 html 代码 我不明
  • 自定义每个环境执行的 SQL

    我们使用 Flyway 来从 dev gt uat gt prod 推广我们的应用程序 使用 Flyway 来使用轻量级 SQL 数据库 例如 Derby 或 H2 将应用程序部署到开发人员桌面将非常有用 由于各种原因 对于我们的一些开发人
  • 尝试触发任何 Perforce 命令时,每次都必须在命令行中设置端口

    我是 Perforce 的新手 需要在命令行中工作 我很困惑为什么教程网站上的所有命令都写成这样 p4 命令 但每次尝试触发该命令时我都必须添加端口 例如 p4 同步 我必须输入 p4 p myhost myport 每次即使在登录后也会同
  • 附加频率表 - 带有缺失值

    目标是生成一个包含我选择的所有变量 关于 4 份报纸的阅读习惯 的频率表 这些变量本质上具有相同的可能值 1 Subscribed 2 Every week 3 Sometimes 4 Never 0 NA No Answers 如果变量之
  • 在用户控件 asp.net 中使用页面方法的替代方法

    有没有一种方法可以在用户控件内实现页面方法的功能 感谢任何帮助 谢谢 最简单的方法可能是将您想要的功能放入网络服务中 然后使用脚本服务属性以使其可用 工作原理与页面方法非常相似 相当广泛的例子here
  • Java:wait() 是否从同步块中释放锁

    我的印象是 wait 释放所有锁 但我发现这篇文章说 在同步方法内调用 wait 是获取内在锁的简单方法 请澄清我有点困惑 http docs oracle com javase tutorial essential concurrency
  • 将可迭代元素或不可迭代元素展开到数组中,而不检查元素 .length

    Given html div div div div calling document querySelector div 返回第一个div元素 其中 length不是返回值的属性 Calling document querySelecto
  • Oracle:不是按表达式分组错误

    以下是我的查询 我不确定是什么原因导致 Not A group by 表达式错误 任何帮助深表感谢 SELECT c courseID c courseName AVG a Mark as Average Mark FROM course
  • 如何使聊天中的链接可点击

    我的网站上有一个聊天 它从 JSON 文件读取并获取每条消息 然后使用Vue js 但是 我的问题是 当用户发布链接时 它不包含在锚标记中 a href a 因此它不可点击 我看到了这个post 我认为这样的东西会起作用 但是 我不允许向该
  • 如何在 Windows 上设置 gl3w?

    我一直在寻找设置 Gl3w 的详细指南 因为我到处都找不到 首先 下载gl3w https github com skaslev gl3w 然后 下载 Python 3 x https www python org downloads 接下
  • 关于HTML中相对文件路径的问题

    已经有一些关于这个主题的帖子 但对我没有帮助 我已经为 HTML 和 CSS 页面制作了地图结构 但无法将它们相互链接 我的地图结构 采购订单网页设计 Homepage HTML 页面主页 CSS 页面主页 图片主页 Sports HTML
  • Android意图语法

    在我尝试找出如何在应用程序中启动新意图的过程中 我遇到了几种表达它的方法 此语法返回运行时错误 即 ActivityNotFound 异常 Intent in new Intent com something something 当然 我的
  • API设计中如何避免“参数过多”问题?

    我有这个API函数 public ResultEnum DoSomeAction string a string b DateTime c OtherEnum d string e string f out Guid code 我不喜欢它
  • heightForRowAt 与estimatedHeightForRowAt 有什么区别?

    通常当我想设置行高时然后设置 func tableView tableView UITableView heightForRowAt indexPath IndexPath gt CGFloat return 300 受益者是什么estim
  • 将表格从 Word 复制粘贴到 Excel

    我有一个定期更新的word文档 我可以进入该 Word 文档 选择整个表格的内容并复制 然后进入 Excel 电子表格并将其粘贴 搞砸了 但是 我将其修复如下 sht Cells UnMerge sht Cells ColumnWidth
  • 在android中连接到oracle

    所以人们可能会告诉我这是一个坏主意 但我至少想尝试一下 EDIT该应用程序的目的是 仅当设备属于 oracle db 所在网络或通过 VPN 连接到网络时 它才能工作 数据库中的信息无法全局访问 这就是为什么我需要直接连接到 oracle