• ベストアンサー

キャラクタセットの変換について

現在の環境:Oracle9i 9.2.0.1.0 データベースを国際化対応にする場合に現行のDBがSHIFT_JISが設定されています。このような場合に例えばAL16UTF16に統一したDBを構築するとなるとSHIFT_JISで使用されていた今までのデータはインポートできるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>インポートできるのでしょうか? 原則的には、自動的にNLSがデータをキャラクタセットに応じて変換してくれます。 一部のデータ属性(blob等)については、オラクルは、格納している内容について 関与しませんので、文字列データを格納するような使い方をしていれば、 自前で変換する必要があります。 ということで、データの移行は問題ないのが通例ですが、キャラクタセットを変更すると、 格納データ長が伸びる場合がありますので、テーブル設計を見直す必要があります。 これは、自動で行ってくれませんので、自前で対応する必要があります。

toshi_200578
質問者

お礼

回答ありがとうございました。

その他の回答 (1)

回答No.2

環境変数のNLS_LANGを合わせる必要があったような気がします。 Exp時にImp先のNLS_LANGに合わせるか、Imp時にExp元のNLS_LANGにする必要があったと思います(昔の話だったかな?)。 >SHIFT_JISで使用されていた今までのデータはインポートできるのでしょうか? データによってはサイズが変わり、桁あふれや領域不足になる可能性があります。 >例えばAL16UTF16に統一したDBを構築するとなると AL16UTF16は各国語キャラクタセットなのでAL16UTF16がキャラクタセットのDBは構築できません。

toshi_200578
質問者

お礼

回答ありがとうございました。

関連するQ&A

専門家に質問してみよう