gpt4 book ai didi

java - 在android中连接到oracle

转载 作者:行者123 更新时间:2023-11-30 07:34:46 26 4
gpt4 key购买 nike

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

编辑 这个应用程序的目的是它只能在设备与 oracle 数据库位于同一网络中或通过 VPN 连接到网络时才能工作。数据库中的信息不会全局访问,这就是为什么我需要直接连接到 oracle 数据库。

现在根据这个线程

Connecting the oracle in android application

他查询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;
}
}

在我的主要 Activity 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 exception: The Network Adapter could not establish the connection"

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

最佳答案

Oracle 有一款产品既提供与 Oracle DB 的数据同步功能,又提供离线功能;它叫做Mobile Server

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

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

希望对您有所帮助。祝你好运。

问候

埃里克,甲骨文产品经理

关于java - 在android中连接到oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5015592/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com