SQL*Loaderの文字コード変換機能

意外に知られていない感じがするが、OracleのSQL*Loaderの文字コード変換機能は便利だ。システム間連携には文字コード変換を伴うことが多いし、最終的なデータの格納先がOracleであるならばまずSQL*Loaderの利用を考えるだろう。もしSQL*Loaderで文字コード変換ができれば...、と思う人が多かったのか、いつからかSQL*Loaderで文字コード変換がサポートされるようになっていた。いや、以前からNLS_LANGを変更することで任意の文字コードのデータをロードできてはいたが、それだとメッセージの文字コードまで変わっちゃうからいまひとつ使い勝手が悪かったんだよね。それが制御ファイルにCHARACTERSETを指定することでデータの文字コードだけを変更することが可能になった。ついでにいうとデータ型としてゾーン10進やパック10進を扱えるので、メインフレーム系のデータがそのまま読み込める(こともある(^^;)。これがきれいにはまったときはちょっとうれしい。