2016-05-18 238 views

答えて

0

あなたの尾のレコードは常にTで始まる場合、あなたのCTLファイルに次のように使用します!しばらくそれをテストしていませんでしたが、私がステージングテーブルの読み込みを行った最後に私のために働いていました。

LOAD DATA 
    INFILE 'file.dat' BADFILE 'file.bad' DISCARDFILE 'file.dis' 
    APPEND 
    INTO TABLE tablename 
-- This will skip the tail record 
    WHEN (01) <> 'T' 
    (
    column names); 
+0

しかし、iam gettintはエラー以下です。負荷データは INFILE 'C:\ユーザーは、ランガ\デスクトップ\ sqll \ book1.csvを\' '' で終了し、テーブルテスト フィールドに 末尾NULLCOLS (01) を挿入 = 'T' (EMPNO、! SQL * Loader-350:行7の構文エラー。 (01)!= 'T' –

+0

大文字小文字の区別がない場合は、WHEN(01)<> 'T ' – JT4U

+0

この句は動作していますが、最後の2つのレコードをスキップしません。サンプルコードを与えますか? –

0

SKIP句を使用してヘッダー行をスキップできますが、WHEN句を使用する必要がある最後のレコードはスキップできます。通常、後続のレコード(最後のレコード)はファイル内の他のレコードと同じではなく、これがトレーラレコードであることを示すインジケータが必要です。この条件が満たされないように、制御ファイル内にそのような条件を構築する必要があります。

ここには、WHEN句に関するOracleのマニュアルがあります。ここ

http://docs.oracle.com/cd/B14117_01/server.101/b10825/ldr_control_file.htm#i1005657

条件ローディング上のいくつかの例です。

http://www.orafaq.com/wiki/SQL*Loader#Conditional_Load

0

あなたのオリジナルのポストは、より詳細な情報を必要とするが、完全を期すために、制御ファイルのオプション句は、ロードする行数SQLLDR伝えLOAD = nオプションがあります。 100行あり、最後の5行をロードしない場合は、LOAD = 95を指定してください。

関連する問題