将数据从平面文件提取到表中



我使用Oracle数据库9i。我想从平面文件(.txt)中提取数据,然后使用sql_loader、utl_file、外部表、sqldeveloper、toad以外的其他方法将它们插入表(在客户端上)。

平面文件示例来源:

Allain Analyst 13456…

King manager 98768…

这将从file_name.csv文件中提取数据并将其插入EX_TABLE

create table EX_TABLE(
                         COL1 varchar2(13 BYTE)
                         ,COL2 varchar2(250 CHAR)
                         ,COL3  varchar2(210 CHAR)
                         ,COL4 varchar2(70 CHAR)
                        )
organization external
(type oracle_loader
default directory EXT_DIR
access parameters
(
  records delimited by newline
  fields terminated by ','
  missing field values are null
  reject rows with all null 
  fields(COL1 CHAR(13)
         ,COL2 char(250)
         ,COL3 char(210)
         ,COL4 char(70)
         )
)
location ('file_name.csv')
)
reject limit unlimited
;
 CREATE TABLE EX_TABLE
   (    COL1 varchar2(3 BYTE)
                         ,COL2 varchar2(3 CHAR)
                         ,COL3  varchar2(1 CHAR)
                         ,COL4 varchar2(10 CHAR)
   ) 
   ORGANIZATION EXTERNAL 
    ( TYPE ORACLE_LOADER
      DEFAULT DIRECTORY DAT_DIR
      ACCESS PARAMETERS
      ( RECORDS DELIMITED BY n 
      CHARACTERSET JA16SJISTILDE BADFILE BAD_DIR : 'test_%p_%a.bad' LOGFILE LOG_DIR : 'test_%p_%a.log' READSIZE 10485760 FIELDS LRTRIM MISSING FIELD VALUES ARE NULL REJECT ROWS
WITH ALL NULL FIELDS ( COL1 ( 1: 3) CHAR(3) ,COL2 ( 4: 6) CHAR(3) ,COL3 ( 7: 7) CHAR(1) COL4 ( 8: 17) CHAR(10) ))
      LOCATION
       ( 'STS.txt'
       )
    )
   REJECT LIMIT UNLIMITED;

根据文件中的位置将数据加载到外部表

最新更新