2011-11-15 27 views
1

私は、制御ファイルを使用してOracle 10gデータベースにデータをロードしていますが囲まれ、私はこのエラーを取得見つかりませターミネータ: TERMINATEDENCLOSEDフィールドの後に見つかりませターミネータエラー:後に終了し、フィールド

私の制御ファイルには、セパレータの具体的な定義を持っており、同封:

FIELDS TERMINATED BY "," ENCLOSED by '"' TRAILING NULLCOLS 

し、エラーのデータでは、我々はこのテキストを見つけることが可能な大きなフィールドがあります:

after an "unauthorized" IOS upgrade 

TERMINATED BYENCLOSEDは、この種のテキストをフィールドに含めることができると考えました。コントロールファイルの問題を修正できますか、問題をテキストファイルで修正する必要がありますか?

おかげ

答えて

0

Oracle reference

ENCLOSEDは、フィールドが空白以外 文字が検出されるまで空白をスキップして読み込まれます。その文字が区切り文字の場合、 のデータが2番目の区切り文字まで読み取られます。その他の文字は、 エラーを引き起こします。

2つの区切り文字が隣り合っている場合、 の値には、区切り文字が1つだけ出現しています( )。たとえば、'DON''T'DON'Tとして格納されます。ただし、フィールド が2つの区切り文字で構成されている場合、その値はNULLです。だから、

、使用:

"data","after an ""unauthorized"" IOS upgrade ","data",... 
関連する問題