该目录必须存在server,需要手动创建。
用户需要对该路径有写权限

解决方案 »

  1.   

    1.不建实体路径也能create directory,不过没意义.目录是要建在server端.
    2.GRANT read, write ON DIRECTORY 目录名 TO 使用者;
    3.SELECT directory_name, grantee, privilege 
      FROM user_tab_privs t, all_directories d   
     WHERE t.table_name(+)=d.directory_name;
    4.只有server端的有用.
    5.drop directory 目录名;
      

  2.   

    您好:謝謝!但我實作如下:
    1.我先用帳號AAA 建立TABLE
    create table invoiceXML_col (
    inv_id number primary key,
    inv_doc XMLType); 2.當我 用 帳戶 AAA來 create or replace directory xmldir2 as 'D:\o11\xmldb\'; 後,
    用 SELECT directory_name, grantee, privilege 
      FROM user_tab_privs t, all_directories d   
     WHERE t.table_name(+)=d.directory_name;
     發現 AAA已經 有   xmldir2的 WRITE READ,EXECUTE 權限
     
     
    3. 然後我用
     Insert into invoicexml_col values (1, 
    XMLType(bfilename('XMLDIR2', 'invoicexml.txt'), 
    nls_charset_id('AL32UTF8') )); 結果卻顯示
    錯誤報告 -
    SQL 錯誤: ORA-22288: 檔案或 LOB 作業 FILEOPEN 失效
    ORA-06512: 在 "SYS.XMLTYPE", line 296
    ORA-06512: 在 line 1
    22288. 00000 -  "file or LOB operation %s failed\n%s"我 WIN2003 SERVER 上有給 PC 的AAA帳號  所有權限了..
      

  3.   

    上传的xml必须是在服务器的设定目录下('D:\o11\xmldb\')
      

  4.   

    您好:
    請問是您是說這樣嗎?
    Insert into invoicexml_col values (1, 
    XMLType(bfilename('XMLDIR', 'D:\o11\xmldb\invoicexml2c.txt'), 
    nls_charset_id('AL32UTF8') )); 一樣是
    SQL 錯誤: ORA-22285: FILEOPEN 作業的目錄或檔案不存在
    ORA-06512: 在 "SYS.XMLTYPE", line 296
      

  5.   


    不是,
    我想说的是invoicexml.txt 这个文件必须先放置在指定的目录D:\o11\xmldb 下