2009-09-19 19 views
1

私はこのような行に何か持っているSQL * Loader制御ファイルがあります。SQL Loaderデータファイルのエンクロージャー文字をエスケープするにはどうすればよいですか?

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '#' 

通常を、私は引用符を使用すると思いますが、マルチ内部で使用される場合には、EmacsのPythonの構文がハイライト表示を破壊するようです行の文字列。 #2アプト

...(他のカラム)、、(他のカラム):問題は、我々は、彼らがこのような行を持っているので、万レコードのうち唯一の7000がロードされているADDRESS_LINE_2列をロードしているということです。 ..

もちろん、エラーを引き起こします。それが起こらないように囲む文字を逃れる方法はありますか?あるいは、より良い封筒のキャラクターを選ぶだけでいいですか?

私はドキュメントを見てきましたが、これに対する答えが見つかっていないようです。

答えて

5

私はそれを見つけた...

2つの区切り文字が隣同士に遭遇している場合は、区切り文字の1回の発生は、データ値に使用されています。たとえば、 'DON''T'はDO NOTとして格納されます。ただし、フィールドが2つの区切り文字で構成されている場合、その値はNULLです。

Field List Reference

+0

ライフセーバー、ありがとう! –

0

フィールドの最大長さをチェックしながら、残念ながら、SqlLoaderは、区切り文字の両方の出現を計算します。たとえば、DON''TCHAR(5)フィールドで拒否され、ORA-12899: value too large for column blah.blah2 (actual: 6, maximum: 5)となります。 少なくとも私の11gR2。他のバージョンで試していない...

関連する問題