初めて、単に単一の列を持つファイルをロードしようとし、それを行うための適切な方法を見つけることができません:( 私は区切り文字として何を入れますか?SQLLDR・ロード・ファイル
ここに私です.CTLファイル:
load data
infile 'myfile.dat'
into table mytable
fields terminated by ''
(mycolumn)
私は同じよう.logの中のエラーを得続ける::ファイル内の値は、最大8文字ごとやなめらかされているにもかかわらず
Record 4: Rejected - Error on table ..., column ....
ORA-12899: value too large for column "... (actual: 80, maximum: 24)
10文字列1 文字列2 文字列3
ご協力いただければ幸いです。あなたは、この場合にfields terminated by
ラインを必要としませんが、あなたは、既存のデータかどうかを保持する場合に応じて、TRUNCATE
またはAPPEND
を持っている必要があり
多くのおかげで、 G
おかげゲイリーは、しかし、あなたのソリューションで、私は取得のみ1つの文字.. ソース列はVARCHAR2(24)です。 ファイルは次のようにスプールされている: 'SETがオフエコー SETフィードバック SETオフ用語オフ SET PAGESIZE 0 SETのNEWPAGE 0 SET空間MYTABLEから別個(MYCOLUMN)を選択MYFILE.DAT 0スプール。 SPOOL OFF ' スプールされたファイルをロードする前に、ターゲットテーブルが' create table mytable(mycolumn VARCHAR2(24)); 'として作成されましたが、ファイルから1文字も挿入されました.. – GeorgeK
実際に問題はスプールされたファイルでは、改行は各行の右端にありました。これは、spooling sqlで 'set trimspool on'を追加すると機能しました – GeorgeK
制御ファイルを次のように変更することもできます:' mycolumn char "trim(:mycolumn)" ' –