用管理员用户进入后建立一个DIRECTORY变量并付给权限: 
1.CREATE OR REPLACE DIRECTORY MYDIR AS 'C:\';
2.GRANT   READ ,WRITE  ON  DIRECTORY MYDIR  TO USERA;   
3.GRANT   EXECUTE   ON  UTL_FILE  TO  USERA;  自己给自己赋予不了权限(2.语句无法执行),建立另外一个用户,用管理员用户给其赋予权限时,
2.语句可以执行,但是3.语句无法执行,错误提示是权限不足。大家帮忙看看,如何解决?谢谢。

解决方案 »

  1.   

    使用sys或system用户执行1, 2, 3三条语句。
      

  2.   

    我应该是用的sys用户执行的,另外我用管理员用户USERA执行2.语句,提示自身无法给自身赋予权限。
       2.GRANT READ ,WRITE ON DIRECTORY MYDIR TO USERA;
    然后我把语句改成 2.GRANT READ ,WRITE ON DIRECTORY MYDIR TO PUBLIC;
    3.语句还是未能执行, 这时候运行UTL_FILE.FOPEN()方法没有报错,顺利执行下去了,
    但是没有对文件进行操作,是否调用 UTL_FILE.FOPEN()前,1.2.3.语句都必须先执行?
      

  3.   

    自己创建的目录不需要赋权。
    你自己创建的表,你也没对自己赋予过dml权限吧。