- PR -

SQL*Loaderでロード項目指定

1
投稿者投稿内容
なりこ
ベテラン
会議室デビュー日: 2005/06/09
投稿数: 61
投稿日時: 2005-08-04 20:29
いつもお世話になっています。

SQL*Loaderを使用して、CSVファイルをOracle9iに取り込もうと
しているのですが、

@CSVファイルの項目を指定してデータベースの
 指定項目へロードする事は出来ないか?

<CSVファイル>
1,aaa,2005
2,bbb,2005
3,ccc,2004

<DBレイアウト>
no | nen |

「no」項目にはcsvファイルの1列目をロードして
「nen]項目にはcsvファイルの3列目をロードしたい。


Acsvファイルの2列目と3列目を結合して「nen」項目にロードできないか?


以上@Aが可能か不可能か、ご存知の方がいれば教えて頂けませんか?
(Oracle9iデータベースユーティリティーも見たのですが、求める答えを
探し当てることができませんでした・・・)

timeserver
会議室デビュー日: 2005/07/28
投稿数: 19
投稿日時: 2005-08-04 23:15
Oracle9i使ってませんが、それぐらいの機能はどのDBでもあるはず…
せん
ぬし
会議室デビュー日: 2002/03/04
投稿数: 397
投稿日時: 2005-08-05 04:56
SQL*Loader では無理でしょう。


1にしても、2 にしても、CSVファイルの段階で加工すれば、
良いと思うのですが、SQL*Loader内で行なおうとする理由は何かあるのでしょうか?


また、実行手段にこだわらないならば、プロシージャを作成して、CSVファイルを
読み込んで処理するのなら、可能とおもいます。
未記入
常連さん
会議室デビュー日: 2005/07/25
投稿数: 35
投稿日時: 2005-08-05 08:34
引用:

せんさんの書き込み (2005-08-05 04:56) より:

また、実行手段にこだわらないならば、プロシージャを作成して、CSVファイルを
読み込んで処理するのなら、可能とおもいます。



9iなら外部表使ってもいいですしね。
なりこ
ベテラン
会議室デビュー日: 2005/06/09
投稿数: 61
投稿日時: 2005-08-05 11:33
解決しました。

<CSVファイル>
1,aaa,2005
2,bbb,2005
3,ccc,2004

<DBレイアウト>
no | nen | item |

TRAILING NULLCOLS
( no,
dmy FILLER, <--- CSVファイルの2列目はテーブルに取り込まないので
           項目名は適当につける
nen
)

あと、結合の件ですが
取り込んだ項目を結合することは出来ました。
FILLER項目を結合に使うことは出来ないようです。同然ですね。。。
読み込まない設定しているので・・・・

TRAILING NULLCOLS
( no,
dmy FILLER,
nen,
item "(:no || :nen)" <--- 取り込んだデータ同士を結合
)

こんな感じです。




1

スキルアップ/キャリアアップ(JOB@IT)