Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将数据从平面文件提取到表中_Sql_Plsql_Load_Oracle9i - Fatal编程技术网

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

Sql 将数据从平面文件提取到表中,sql,plsql,load,oracle9i,Sql,Plsql,Load,Oracle9i,我正在使用Oracle database 9i。 我想从flatfile.txt中提取数据,然后使用sql_加载器、utl_文件、外部表、sqldeveloper、toad以外的其他工具将它们插入客户机上的表中 平面文件源的示例: 艾伦分析师13456 国王经理98768 这将从文件_name.csv文件中提取数据,并将其插入到EX_表中 create table EX_TABLE( COL1 varchar2(13 BYTE)

我正在使用Oracle database 9i。 我想从flatfile.txt中提取数据,然后使用sql_加载器、utl_文件、外部表、sqldeveloper、toad以外的其他工具将它们插入客户机上的表中

平面文件源的示例:

艾伦分析师13456

国王经理98768


这将从文件_name.csv文件中提取数据,并将其插入到EX_表中

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
;

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

平面文件的示例将非常有用。你是说你不想使用这些软件吗?你有什么可用的吗?我编辑了我的帖子。我想使用sql\u加载器、utl\u文件、外部表、sqldeveloper、toad以外的其他解决方案。您能为我们定义其他解决方案以供指导吗?没有使用Oracle工具或sql\u加载器、utl\u文件、外部表的任何其他解决方案。为什么阻止您使用所有设计用于解决此特定问题的工具?通常,当有人试图解决一个问题时,确定设计用于解决问题的工具,然后排除这些工具,需要有大量的背景资料来确定可行的方法可能是什么样子。当然,您可以编写一个Java/C/Python/Perl/任何与SQL*Loader相同的脚本。但是,仅仅为了取代Oracle免费提供的标准工具,就需要编写大量代码?查看示例文件,没有分隔符,因此它必须是位置分隔符或其他分隔符。是的,此分隔符用于.csv文件。下面我已经回答了简单的.txt文件。
 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;