Я не могу получить доступ к файлам на серверах, отличных от имени сервера базы данных - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь создать каталог для доступа к файлу, но появляется сообщение об ошибке «Отказано в доступе».

Если говорить более конкретно, я хочу получить доступ к серверу с сервера plsql, отличного от сервера db.

Путь к серверу: \ 192.168.3.15 \ k $ \ INPUT_FILES \

Я попытался создать каталог, как показано ниже: СОЗДАТЬ ИЛИ ЗАМЕНИТЬ СПРАВОЧНИК 'TEST' AS '\ 192.168.3.15 \ k $ \ INPUT_FILES';

доступ к файлу через пакет AS_READ_XLSX

SELECT *
  FROM TABLE( AS_READ_XLSX.READ( AS_READ_XLSX.FILE2BLOB( 'TEST', 'aaa.xlsx' );

Но я получаю ошибку

ORA-22288: операция с файлом или LOB FILEOPEN завершилась неудачно

Доступ запрещен.

ORA-06512: "AS_READ_XLSX", строка 361

function file2blob
    ( p_dir varchar2
    , p_file_name varchar2
    )
  return blob
  is
    file_lob bfile;
    file_blob blob;
  begin  
    file_lob := bfilename( p_dir, p_file_name );
    dbms_lob.open( file_lob, dbms_lob.file_readonly );
    dbms_lob.createtemporary( file_blob, true );
    dbms_lob.loadfromfile( file_blob, file_lob, dbms_lob.lobmaxsize );
    dbms_lob.close( file_lob );
    return file_blob;
  exception
    when others then
      if dbms_lob.isopen( file_lob ) = 1
      then
        dbms_lob.close( file_lob );
      end if;
      if dbms_lob.istemporary( file_blob ) = 1
      then
        dbms_lob.freetemporary( file_blob );
      end if;
      raise;   --361 LINE
  end;

Есть идеи, пожалуйста?

1 Ответ

1 голос
/ 10 мая 2019

Я пока не могу комментировать, поэтому пишу ответ. Вы проверили, имеет ли пользователь oracle / dba на - я предполагаю - сервере Linux право на открытие файла? Попробуйте предоставить доступ к файлу всем пользователям на сервере. Это случалось довольно много раз со мной. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...