创建了一个外部表,调用sqlldr,但是读文件的需求比较怪。
1.directory 为 '\\192.168.1.100\DataFiles\'
2.文件位于上面的路径中。
读取的时候,总是报错,Everyone权限我都给了,但是还是不行。
不知道原因是什么,更希望能给举个简单例子。

解决方案 »

  1.   

    例子:
    --必须有create any directory的权限, 然后新建一个工作目录:
    create directory TEST_DIR as 'D:\test\';
    --授予用户读和写的权限,如果是test用户自己, 则不用. 
    grant read,write on directory test_dir to test;
    --创建内部表CREATE TABLE USER_INFO
     (emp_id number(4), 
     ename varchar2(12), 
     job varchar2(12) , 
     mgr_id number(4) , 
     hiredate date, 
     salary number(8), 
     comm number(8), 
     dept_id number(2)) 
     ORGANIZATION EXTERNAL 
     ( TYPE ORACLE_LOADER 
     DEFAULT DIRECTORY TEST_DIR 
     ACCESS PARAMETERS(RECORDS DELIMITED BY NEWLINE 
     FIELDS TERMINATED BY ',') 
     LOCATION('USER_INFO.TXT')) --user_info.txt文件中的格式为逗号分隔的一些信息. 
      

  2.   

    我现在需求就是要把文件放在局域网的共享文件夹里面。
    错误 Log打不开。