
Perl初心者です。
PerlでOracleに接続し、結果をCSVを出力したいのですが
下記プログラムだとなにも出力されません。
Oracle10g
OS:Linux
***
#!/user/bin/perl
#
#
# DBI モジュールの読み込み
use DBI;
#接続
my $hDb = DBI->connect("dbi:Oracle:dbname", "user/pass") or die "CONNECT ERROR $DBI::errstr";
#SELECT
#
$hSt = $hDb->prepare("SELECT ID,NAME FROM MASTER");
open(OUT, ">data.dat");
#実行
$nRes = $hSt->execute;
#データの取得
while($raRes = $hSt->fetchrow_arrayref) {
print OUT join(",", @$raRes), "\n";
}
# ファイルクローズ
close(OUT);
$hSt->finish;
$hDb->disconnect;
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ANo.1です。
>書き込みオープンのチェックはどのようにしたらできるのでしょうか?
最初に確認しておけばよかったのですが「何も出力されない」というのはdata.datがサイズ0で作成されるのでしょうか?それともdata.datの作成がされないのでしょうか?open(OUT, ">data.dat"); でも返り値がfalseの場合、エラーメッセージを出力させてみてください(or dieでいいです)。
No.2
- 回答日時:
> print join(",", @$raRes), "\n";
>とすると画面出力できているので出力に失敗していると思います。
とのことですけど、
>open(OUT, ">data.dat");
データベースへの接続はチェックしているのにこの書き込みオープンを
チェックしていませんが、本当に書き込みオープンできてますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perl 時間同士の差
-
大量メールの任意のヘッダだけ...
-
重複するデータを抽出できる秀...
-
至急お願いします。C言語で.img...
-
FindFirstFileとFindNextFileで...
-
C++でのテキストファイル読み込...
-
バッチファイルの作り方(CSV→...
-
Windowsで複数のファイルを同じ...
-
空白文字 \\f と\\v の違いに...
-
エクセルVBA コードが同じでも...
-
サブスクリプトとのファイルハ...
-
Pythonの再帰関数の動作の流れ...
-
vba dir の相対パス
-
openした後、closeしないでプロ...
-
VBAでCSVファイルを途中行まで...
-
Perl Vlookupみたいに
-
全行読み込むには
-
csvファイルの横方向への改行に...
-
並び方、
-
drtファイルはどうしたら開...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
エクセルVBAで素数だけを出力す...
-
DOSコマンドで、標準出力を出力...
-
[awk]uniq -cで複数ファイルの...
-
sprintfについて
-
大量メールの任意のヘッダだけ...
-
log2の「正確な」計算方法
-
[Perl]ファイル出力のエンコー...
-
重複するデータを抽出できる秀...
-
Perl<->Oracle間での文字化けに...
-
文字コードの変換(Shift-JISか...
-
テキストファイルから日本語部...
-
htmlから、ファイル、もしくはC...
-
ファイル出力の改行コードをLFに
-
sprintfで10進数を桁数指定で16...
-
Perl 時間同士の差
-
warnやdieの出力先を変更したい
-
Perlでエラーログに日時をつける
-
エディターでは改行なのにメモ...
-
perlでモジュールを使ってクロ...
おすすめ情報