我正在使用oracle数据库10g。我必须编写一个java存储过程,通过它我可以在服务器上调用文件并将其存储在用户机器本地。我正在使用oracle Apex 3.1.1。
答案 0 :(得分:1)
如果您正在谈论真正的Oracle Java存储过程,我认为您不能这样做。请记住,Java过程在数据库中的Oracle JVM下运行,这意味着它只能“看到”数据库主机文件系统。
答案 1 :(得分:0)
任何原因都必须是java? PL / SQL中的DBMS_FILE通常可以正常工作。
否则,我认为(我很长时间没有完成java存储过程)你应该像在java中一样打开IO流。
答案 2 :(得分:0)
由于您使用的是APEX 3.1,有没有理由可以通过APEX(因此Web服务器)创建指向服务器上文件的链接来下载文件?
您也可以通过UTL_FILE包执行此操作,只是不要忘记运行CREATE DIRECTORY并首先在目录上授予READ。
我认为您也可以通过java打开文件,但前提是您首先执行授权以允许Oracle进程访问系统上的目录。这似乎是最复杂的方法。
答案 3 :(得分:0)
为什么要使用Java存储过程?只是因为你认为它不能在PL / SQL中完成?
PL / SQL中有几个FTP实现。 Sourceforge has one。蒂姆·霍尔在his Oracle-Base site上发表了一篇。
1:http://sourceforge.net/projects/plsqlftp/“UTL_FTP项目