プロが教える店舗&オフィスのセキュリティ対策術

サーバー:windows 2003server oracle10g
クライアント:windows xp oracle10g

以下のsqlファイルをbatで起動し、テキストファイルを出力しています。
しかしながら、setのところにヘーダーを出力するよう宣言しているのに
もかかわらず、出力されません。
どなたかおわかりになる方、いらっしゃいませんでしょうか?

set echo off
set heading on
set underline off
set termout off
set pause off
set pagesize 0
set trimspool on
set feedback off
set termout off
set linesize 1000
set lines 30000
spool hoge.txt

select
aaa||CHR(9)||
bbb||CHR(9)||
ccc||CHR(9)||
ddd
from M_JITU;
spool off
EXIT

A 回答 (2件)

出力されない理由は#1さんの回答の通りです。



対応方法も#1さんのでよいのですが、出力結果が沢山あってpagesizeを超える場合もあると思います。

その場合、そこで1行、余分な改行が入ってしまう事が考えられます。

pagesize は 0 のまま、spool と select の間に prompt 文でヘッダーを付けてやればよいのでは?
(と言うか、自分はそうしています)

但し、ご質問の例だと、タブ区切りなので、この場合は、一応SELECTの方がいいかもしれません。

(前略)
spool hoge.txt

select 'aaa' ||CHR(9)|| 'bbb' ||CHR(9)|| 'ccc' ||CHR(9)|| 'ddd'
from dual;

select
aaa||CHR(9)||
(以下略)
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2012/12/24 10:47

set pagesize 0



を指定すると出ません。
0ではなく大きな値を指定してみてください。
    • good
    • 4
この回答へのお礼

ありがとうございます。解決致しました。

お礼日時:2012/12/24 10:48

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A