0

我正在使用 oracle 数据库 10g。我必须编写一个 java stroed 过程,通过它我可以在服务器上调用一个文件并将其本地存储在用户机器上。我正在使用 oracle Apex 3.1.1。

4

4 回答 4

1

如果您谈论的是真正的 Oracle Java 存储过程,我认为您无法做到这一点。请记住,Java 过程是在数据库中的 Oracle JVM 下运行的,这意味着它只能“看到”数据库主机文件系统。

于 2009-04-07T15:02:34.133 回答
0

既然您使用的是 APEX 3.1,那么您是否有理由简单地通过 APEX(因此是 Web 服务器)在服务器上创建指向文件的链接来下载文件?

您也可以通过 UTL_FILE 包执行此操作,只是不要忘记运行 CREATE DIRECTORY 并首先在目录上授予 READ 权限。

我认为您也可以通过 java 打开文件,但前提是您首先进行授权以允许 Oracle 进程访问系统上的目录。这似乎是最复杂的方法。

于 2009-04-07T19:03:24.910 回答
0

有什么理由必须是java吗?PL/SQL 中的 DBMS_FILE 通常应该可以正常工作。

否则,我认为(我很久没有做过 java 存储过程了)你应该能够像在 java 中一样打开一个 IO 流。

于 2009-04-07T05:52:14.970 回答
0

为什么是 Java 存储过程?仅仅因为你认为它不能在 PL/SQL 中完成?

PL/SQL 中有几个 FTP 实现。 Sourceforge 有一个. Tim Hall 在他的 Oracle-Base 站点上发表了一篇文章。

1: http: //sourceforge.net/projects/plsqlftp/ “UTL_FTP项目

于 2009-08-09T07:35:28.360 回答