我无法访问数据库服务器名称以外的其他服务器中的文件

时间:2019-05-10 09:04:51

标签: oracle server

我正在尝试使目录访问文件,但是会出现错误消息,拒绝访问。

更具体地说,我想从plsql访问与数据库服务器不同的服务器。

服务器的路径为:\ 192.168.3.15 \ k $ \ INPUT_FILES \

我尝试创建如下目录: 以'\ 192.168.3.15 \ k $ \ INPUT_FILES'创建或替换目录'TEST';

通过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 个答案:

答案 0 :(得分:1)

我还不能发表评论,所以我正在写答案。 您是否检查了-我想-Linux服务器中的oracle / dba用户是否有权打开文件?尝试将文件访问权限授予服务器中的所有用户。 对我来说,这已经发生了好几次了。 :)