创建目录如下:
create or replace directory mydir as 'e:\ggg\';
 
然后执行下面代码:declare
  a_bfile BFILE:=BFILENAME('mydir','hhh.JPEG');
begin
  dbms_lob.fileopen(a_bfile);
end;为什么总是报错:对不存在的目录或文件执行fileopen

解决方案 »

  1.   

    In Oracle/PLSQL, the bfilename function returns a BFILE locator for a physical LOB binary file.The syntax for the bfilename function is:        bfilename( 'directory', 'filename' )directory is a directory object that serves as an alias for the full path to where the file is located on the file server.filename is the name of the file on the file server.For example:First, we need to create a directory object called exampleDir that points to /example/totn on the file server.    CREATE DIRECTORY exampleDir AS '/example/totn';Then we can use the exampleDir directory object in the bfilename function as follows:    SELECT bfilename('exampleDir', 'totn_logo.jpg')
        FROM dual;
      

  2.   

    http://www.bitscn.com/oracle/pl/200608/56838.html
    create or replace procedure insertPDF(fileName varchar2) is
            fileLoc bfile;
            nID number;
            nPDFSize integer;
            bFileExists boolean := false;
    begin
         fileLoc := bfilename('PDFDIR',filename);
         bFileExists := dbms_lob.fileexists(fileLoc) = 1;
         if bFileExists = false then
            dbms_output.put_line(fileName || ' not exists');
            return;
         end if;
        
         nPDFSize := dbms_lob.getlength(fileLoc);
         dbms_output.put_line('the length of ' || fileName || ' is ' || nPDFSize);
         select count(*) + 1 into nID from PDFTable; bbs.bitsCN.com国内最早的网管论坛
         insert into PDFTable(ID,Pdffile)
                values (nID, fileLoc);
    exception
      when dbms_lob.noexist_directory then
           dbms_output.put_line('Error: ' || sqlerrm); 
      when dbms_lob.invalid_directory then
           dbms_output.put_line('Error : ' || sqlerrm);
      when others then
           dbms_output.put_line('Unkown Error : ' || sqlerrm);
    end;
      

  3.   

    e:\ggg\ 这个必须是数据库服务器有效路径