2016-08-16 8 views
-2

私はOracleデータベース9iを使用しています。 フラットファイル(.txt)からデータを抽出し、sql_loader、utl_file、外部テーブル、sqldeveloper、toad以外のものを使用して(クライアント上の)テーブルにデータを挿入します。フラットファイルからテーブルにデータを抽出します

フラット・ファイル・ソースの例:

アランアナ13456 ...

キングマネージャ98768 ...

+0

フラットファイルの例が役に立ちます。そして、あなたはそれらのソフトウェアのいずれかを使いたくないということを意味しますか?利用できるものはありますか? – Gallus

+0

私の投稿を編集しました。私はsql_loader、utl_file、外部テーブル、sqldeveloper、toad以外のソリューションを使いたい。 – Goldray

+0

また、私たちがガイドする他のソリューションを定義できますか? – XING

答えて

0

これは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 
; 
+0

これは、フィールドがカンマで区切られていることを前提としていますか?サンプルファイルを見ると、デリミタはありませんので、位置指定されていなければなりません。 – Gallus

+0

はい、これは.csvファイル用です。私は単純な.txtファイルに答えました。 – Shine

0
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; 

ファイル内の位置に基づいて外部テーブルにデータをロード

関連する問題