- ベストアンサー
SQL-LOADERの逆のもの
先日SQL-LOADERについて質問させてもらいましたが、もう1つ教えて欲しいことがあります。 SQL-LOADERの逆のものはないのでしょうか? 200万件のテーブルのデータを、条件毎に高速エクスポート(固定長テキスト)したいのですが。 つまりSQL-WRITERというものは無いかな~、、、と、、、(笑) 最悪、PL/SQLで200万件をまわして、テキスト出力させようと思っていますが、多分時間が相当かかると思うので、、、、 なにか良い方法があったら教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
件数が多い場合、この辺の製品なんかどうでしょうか? #私は購入したこと無いですがトライアル版でも使用してみては #いかがでしょうか? http://www.ashisuto.co.jp/prod/fuo/sum/index.html
その他の回答 (4)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
以前、PERL+DBD-ORACLEの環境で自作しましたが、そんなに遅くなかったですよ。 アプリケーションとしては、為すべき事が少ないので、処理に要する時間は、 オラクルエンジン上の処理時間に左右されます。 レコード長次第ですが、サーバ上で動かすなら、数分で終わるように思いますけどね。
お礼
サーバ上で動かすと、数分で終わるのですか? 250バイトのレコード長なんですが、、、、 数分で終わるようだったら、すごくうれしいです。 ありがとうございました。
- thatsthat
- ベストアンサー率55% (15/27)
私も通常はsqlplusでやってます。 内容かぶりますが、 no1さんのリンク先で少し迷ったので、一応書いておきます(^^; sqlldrで下のようなsetの後、spoolしつつ、select文を実行します。 set colsep ',' set pagesize 0 set trimspool on set linesize 4096 colsepはカンマ区切りの例ですが、 タブの方がデータ中に含まれにくいので、タブ区切りの方が安心かも知れません。 linesizeの値も例です。充分大きな長さを指定します。
お礼
ご回答ありがとうございます。 spoolって初めてなので、とても助かります。 1行が250バイトの200万件データ(500M)なんですが、spoolでどの程度の時間がかかるかやってみようと思います。 ありがとうございました。
- bardfish
- ベストアンサー率28% (5029/17766)
- bardfish
- ベストアンサー率28% (5029/17766)
SQL*WriterみたいなものはExportユーティリティしかないですね^^; 私なら、ExcelかAccess、VisualBasicを使ってプログラムを組みます。 でも、たしか↓のページで、SQL*Plusだけで固定長テキストでSELECTの結果を出力するというTipsが載っていたと記憶しています。 http://www.tmpgenc.net/ja/j_main.html http://www.mars.dti.ne.jp/~o-shin/new/kowaza/ 探してみてください(汗; Oracleのマニュアルはありませんか?暇な時に目を通しておくとかなり勉強になりますよ。 また、OracleのサイトからPDF形式でマニュアルがダウンロードできるはずです。印刷するととんでもない量になりますが、マニュアルはどんな形式であれ手元においておくことをお奨めします。
お礼
なるほど、、、、 これは役にたちそうなサイトですね。 ORACLEのマニュアルは、入手しようと思います。 ありがとうございました。
補足
これはすばらしいですね!!! どうしてもダメそうだったら、この製品の購入も考えようと思います。 まずはトライアル版でテストしてみます。 ありがとうございました。