- - PR -
oracle 10g XE にてキャラクタセットを変更する方法
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2006-08-31 15:46
環境:Windows 2000 Pro SP4 + Oracle Database 10g Express Edition
他のDBのダンプファイルをimp.exeでインポートしようとしたのですが,Oracleエラー12899が発生して,特定のデータ行がインポートできませんでした。 調査したところ,キャラクタセットの違いが原因のようです。 エクスポート側(oracle8i)のキャラクタセット:JA16SJIS インポート側(oracle10g)のキャラクタセット:AL32UTF8 そこで,インポート側(oracle10gXE)のキャラクタセットをJA16SJISに変更したいのですが,どのようにしたらよいでしょうか。 よろしくお願いいたします。 | ||||
|
投稿日時: 2006-08-31 15:56
UNICODE からの変更ですから、データベース再作成になるでしょうね。
(そうするとあの HTMLDB もどきのアプリケーションとかって再作成 できるんだろうか...?) 予め定義を変更した空の表を XE 側に作っておいて、ignore=y 指定して imp した方が早いかもしれませんね。 _________________ もしもし@RMAN 友の会 | ||||
|
投稿日時: 2006-08-31 16:18
やはり,それしかないでしょうかね。 テーブル数が多いので,なるべく定義の変更を避けたかったものですから・・・ | ||||
|
投稿日時: 2006-08-31 16:40
テーブルの再定義だけならいいのですが,以下のようなエラーも発生しました。
ORA-00972: 識別子が長すぎます。 識別子まで変えてしまうと,ソースまで変更しなければなりません。 やはりデータベースの再作成しかないでしょうか。 | ||||
|
投稿日時: 2006-08-31 17:06
ORA-972 ってもしかしてオブジェクト名はマルチバイト文字を
使っているということでしょうか。 だとしたら、データベース再作成しかないかなぁ...。 (シングルバイト文字しか使ってなかったら発生しなかったはず) _________________ もしもし@RMAN 友の会 | ||||
|
投稿日時: 2006-08-31 17:26
そのとおりです。 そうですか,やはりデータベース再作成しかありませんか・・・ XEなのでめんどくさそうですけど,がんばってみます。 | ||||
1
