выполнить команды оболочки из PL/SQL для копирования файла с сетевого диска

моя проблема в том, что у меня есть несколько форм 6i, некоторые из которых работают с CMD и пакетным файлом, и я хочу переместить свое приложение на 10g. Ниже я пытаюсь использовать функцию Java для копирования файлов с одного сетевого диска на другой сетевой диск (один из примеров действия пакетного файла): http://www.oracle-base.com/articles/8i/shell-commands-from-plsql.php

Этот пример отлично работает для локального диска, и я могу выполнить команду DIR, команду перемещения или команду MD, но когда я пытаюсь подключиться к сетевому диску, он не работает.

SET SERVEROUTPUT ON SIZE 1000000
CALL DBMS_JAVA.SET_OUTPUT(1000000);
BEGIN
    host_command (p_command => 'dir p:\temp\');
END;

Ошибка:

Ошибка процесса: система не может найти указанный путь.

or

SET SERVEROUTPUT ON SIZE 1000000
CALL DBMS_JAVA.SET_OUTPUT(1000000);
BEGIN
    host_command (p_command => 'dir \\abcde-ef2\osbct01\DATA\Temp\');
END;
/

Ошибка

Выход процесса: Том на диске \abcde-ef2\osbct01 - это процесс osbct01.

err :Файл не найден Обработка завершена : Серийный номер тома B4F6-A843

Процесс на выходе : Процесс на выходе : Справочник

\abcde-ef2\osbct01\DATA\Temp\ Выходной процесс:

На самом деле, у меня нет проблем с host_command ('dir c:\');, и я вижу весь вывод, но когда я меняю его на host_command('dir p:\'), он не работает. (p относится к сетевому местоположению, которое отображается на моем компьютере

Не могли бы вы помочь мне, что не так, что я не могу получить доступ к своим сетевым дискам?

(ps: мне не интересно использовать web_util в моих формах оракула.)


person Amir    schedule 17.10.2014    source источник
comment
Я отредактировал ваш вопрос, чтобы переместить некоторую информацию, которую вы предоставили в своих комментариях. Не могли бы вы просмотреть это -- и в конечном итоге исправить теги: он был помечен oracle10g, но в своем постскриптуме вы говорили о oracle9i. Я оставил оба из них - но это, вероятно, не требуется.   -  person Sylvain Leroux    schedule 17.10.2014


Ответы (1)


Я думаю, что ваша проблема связана с правами доступа операционной системы к «P:\», вы пытаетесь получить доступ к P, в то время как ОС предотвращает это, потому что она отключена или защищена паролем или пользователями с ограниченным доступом.

person Eng. Samer T    schedule 18.10.2014
comment
Ну, я не отвергаю вашу идею, но я попытался запустить тот же скрипт на этом ПК, он работает нормально. Я помню, что для Microsoft SQL у меня был пользователь на моем ПК, но для Oracle это не так, и для Oracle нет пользователя Windows ... Я использую win server 2003. - person Amir; 20.10.2014