Android连接到oracle数据库

Android连接到oracle数据库,android,database,oracle,Android,Database,Oracle,您好,我在连接到oracle数据库时遇到问题。当我在emulator中启动应用程序时,它工作正常。但当我试着在手机上运行它时,它崩溃了。我得到以下错误: detailMessage“Io异常:网络适配器无法建立连接 我的连接代码是: try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { e.printStackTrac

您好,我在连接到oracle数据库时遇到问题。当我在emulator中启动应用程序时,它工作正常。但当我试着在手机上运行它时,它崩溃了。我得到以下错误:

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

我的连接代码是:

    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
    Connection conn;
    try {
        conn = DriverManager.getConnection("jdbc:oracle:thin:@ip:port/dtabase name","user", "port");

有什么问题吗?我在手机上打开了数据连接…

我猜要么你没有在清单中请求internet权限,要么你正在使用本地IP,而你的设备正在尝试通过WAN而不是LAN连接。

我猜要么你没有请求internet权限,或者您正在使用本地IP,而您的设备正在尝试通过WAN而不是LAN进行连接。

不建议将移动设备直接连接到RDBMS。这在技术上是可行的,但存在严重的安全隐患,更不用说性能、电池寿命等了

Oracle实际上提供了一种专门设计用于将移动设备连接到Oracle和Oracle后端的产品:Oracle Database mobile Server

你可以在那里阅读,也可以从下载选项卡下载并试用。除了Oracle数据库,你还需要一个应用服务器。建议使用WebLogic或Glassfish

它提供了几个优点,主要的一个是能够将来自Android设备的SQLite数据与Oracle后端同步,而无需任何额外的开发工作。您可以在断开连接的模式下运行应用程序,并且它还提供了一些基本的设备管理功能

祝你的项目好运


Eric Jensen,Oracle PM

不建议将移动设备直接连接到RDBMS。这在技术上是可行的,但存在严重的安全隐患,更不用说性能、电池寿命等了

Oracle实际上提供了一种专门设计用于将移动设备连接到Oracle和Oracle后端的产品:Oracle Database mobile Server

你可以在那里阅读,也可以从下载选项卡下载并试用。除了Oracle数据库,你还需要一个应用服务器。建议使用WebLogic或Glassfish

它提供了几个优点,主要的一个是能够将来自Android设备的SQLite数据与Oracle后端同步,而无需任何额外的开发工作。您可以在断开连接的模式下运行应用程序,并且它还提供了一些基本的设备管理功能

祝你的项目好运



Eric Jensen,Oracle PM

数据库是否上载到您的设备上?我认为这是您的DB服务器上的防火墙问题…防火墙如何允许我的模拟器连接而不使用手机?您好@gabrjan,我可以知道您在这方面使用了哪些教程吗?请给我一个链接,因为我想尝试将我的android应用程序连接到Oracle。我完成了在为它编写apy时,我真的不记得我是怎么做的…数据库是否上载到您的设备上?我认为这是您的DB服务器上的防火墙问题…防火墙如何允许我的模拟器连接而不是电话?Hello@gabrjan我可以知道您使用的是什么教程吗?请给我一个链接,因为我想尝试将我的android应用程序连接到oracle。我完成了为它编写apy的工作,但我真的不记得我是怎么做的……我在清单中使用了190.160.111.14 nad中的ip,我有,你是否打开了该端口并验证了其可访问性?当然错误消息还有更多内容。你能转储完整堆栈跟踪吗?嗯,我应该打开端口吗在我的手机上还是什么?如其他评论中所述,防火墙或路由器可能会阻止该端口。例如,如果您的数据库正在开发计算机上运行,要从WAN设备(如手机)访问开发计算机数据库,您需要打开路由器上的端口,以便外部设备可以访问该数据库。此s通常在路由器设置中称为端口转发。您必须打开远程计算机上的端口才能访问。作为一个数据库,这是非常不寻常的,因为直接向WAN打开数据库基本上是违反常规的。imo最常见的做法是编写只提供对你需要的数据。我在我的清单中使用了190.160.111.14 nad中的ip。我有,你是否打开了该端口并验证了其可访问性?当然,错误消息还有更多内容。你可以转储完整堆栈跟踪。嗯,我应该在手机上打开端口还是什么?如其他注释所示,防火墙或路由器可能正在阻止该端口。如果你r数据库正在开发计算机上运行。例如,要从WAN设备(如手机)访问开发计算机数据库,您需要打开路由器上的端口,以便外部设备可以访问数据库。这在路由器设置中通常称为端口转发。您必须打开远程机器上的端口ne是可访问的。作为一个数据库,这将是非常不寻常的,因为直接向WAN打开数据库基本上是违反常规的。imo最常见的做法是编写一个API,只提供对所需数据的访问。