ちょっと変わったマニアな作品が集結

汎用機からUNIXサーバへのシステム移行を予定しています。
サーバ側のDBとしてORACLEを採用予定です。

汎用機側で使用しているDBの内容を、サーバ側に合わせコード変換した後に
CSVファイルとしてサーバに転送し、ORACLEのDBにロードして初期DBの
構築をおこなう予定です。
(ロードには付属のユーティリティ(ローダ)を使用予定)

この際、ORACLE側でデータ型を’NUMBER’で定義している項目に対しては、
CSVファイル側の該当項目と桁数を合わせなくても問題は無いでしょうか?

例)
・ORACLE 側の定義
商品コード  CHAR(3)
定価   NUMBER(5)

・CSVファイルの内容 
A01,1500
B01,100

それとも、桁数を合わせ
・CSVファイルの内容 
A01,01500
B01,00100

としなくてはならないのでしょうか?


もう一点、
全角文字は、CHAR属性の項目に、シフトー度付きでセットすればよいのでしょうか?


どうぞ宜しくお願いいたします

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんにちは、ホスト→Unix(Oracle)データ移行経験者です。




> (ロードには付属のユーティリティ(ローダ)を使用予定)

SQL*Loaderでしょうか?
以下のことは、SQLローダを前提で書いていますので、
違う場合は読み飛ばして下さい。


●NUMBER型
NUMBER型にロードする際には、桁数合わせをする必要はありません。

●CHAR型
桁数からあふれていなければ、質問文に書かれた形式でロードできます。
全角文字も同様ですが、1文字2バイトであることだけ気にすればいいです。

CHAR型は、固定長の文字列データ型です。
CHAR(10)であれば、”ひこうき ”と、最後に空白を2バイト自動的に埋めます。
項目として空白が必要であるのならば別ですが、データベースの容量節約の観点から言いますと
可変長の文字列データ型であるVARCHAR2を使用した方が良いと思います。
    • good
    • 0
この回答へのお礼

>SQL*Loaderでしょうか?

ズバリSQL*Loaderのことでした。

おかげさまで、無事移行作業にとりかかることができそうです。

助かりました。
ありがとうございました。

お礼日時:2004/08/11 17:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング