1

私は定期的に SQL Loader を使用して、さまざまなタブ区切りのテキスト データ ファイルをアップロードしています。制御ファイルは常に指定しますTERMINATED BY X'09'。これらのデータ ファイル内の特定の「セル」は null の場合があります。つまり、2 つの後続のタブの間に文字がありません。それは常に時計のように機能します。

ここで、実際のデータを囲む場合と囲まない場合がある二重引用符のデータ列を削除する必要がある特定のケースに遭遇しました (Excel からのテキスト エクスポートの副作用)。

終了した区切り文字の後ろに追加するだけOPTIONALLY ENCLOSED BY '"'で、問題のファイルと列で機能しました。それでも、この新しいオプションを使用すると、null 値を持つファイルは正しくデコードされなくなります。ローダーは単にこれらの値をスキップしているように見えます。これにより、列のシフトが引き起こされ、ロードの破損またはロードの失敗が発生します。

今のところ、新しいオプションを削除し、SQL スクリプトを実行して二重引用符をデータベースで直接削除するという回避策がありますが、それは明らかに長続きしません。

何か案は?

4

0 に答える 0