Как я могу открыть файл с помощью хранимой процедуры Java - PullRequest
0 голосов
/ 07 апреля 2009

Я использую базу данных оракула 10g. Я должен написать процедуру java stroed, с помощью которой я могу вызвать файл на сервере и сохранить его локально на компьютере пользователя. Я использую оракул Apex 3.1.1.

Ответы [ 4 ]

1 голос
/ 07 апреля 2009

Если вы говорите об истинной хранимой процедуре Oracle Java, я не думаю, что вы можете сделать это. Помните, что процедура Java выполняется под JVM Oracle в базе данных, что означает, что она может только «видеть» файловую систему хоста базы данных.

0 голосов
/ 09 августа 2009

Почему хранимая процедура Java? Только потому, что вы думаете, что это не может быть сделано в PL / SQL?

В PL / SQL есть несколько реализаций FTP. У Sourceforge есть один . Тим Холл опубликовал один на своем сайте Oracle-Base .

1 : http://sourceforge.net/projects/plsqlftp/ "UTL_FTP project

0 голосов
/ 07 апреля 2009

Поскольку вы используете APEX 3.1, есть ли причина, по которой вы можете просто создать ссылку на файл на сервере через APEX (отсюда и веб-сервер) для загрузки файла?

Вы также можете сделать это через пакет UTL_FILE, просто не забудьте запустить CREATE DIRECTORY и сначала предоставить READ для каталога.

Я думаю, что вы также можете открыть файл через java, но только если вы сначала предоставите грант, чтобы разрешить процессу Oracle доступ к каталогам в вашей системе. Это кажется самым сложным методом.

0 голосов
/ 07 апреля 2009

По какой причине это должно быть Java? DBMS_FILE в PL / SQL, как правило, должен работать нормально.

В противном случае, я думаю (я давно не выполнял хранимые процедуры java), вы просто сможете открыть поток ввода-вывода, как всегда в java.

...