電子書籍の厳選無料作品が豊富!

こんにちわ。先日postgre8.2をwinXPにダウンロードしました。デpostgresの画面ではデータベースの新規作成が出来るようになっているのですが、パールから作ろうとするとコマンドプロンプトにエラーが出てきます。以下にパールの文とエラーを書きますので、何かチェックする点や設定など確認や文自体の間違いなどお教え下さい。宜しくお願いします。
#!c:/perl/bin/perl
use DBD::Pg;
use DBI;

$dbh=DBI->connect("dbi:Pg:host=localhost;dbname=postgres",'ddd','cc');
$sth=$dbh->prepare($a);

my$a=(<<"EOL");
CREATE DATABASE kensaku
with encoding='euc_jp'
owner=ddd
template=postgres
tablespace=pg_default;
grant all on database kensaku to public;
EOL
$v=$sth->execute();
$d=$dbh->disconnect;

エラー:DBD::Pg::st execute warning: at test.pl line 21.
宜しくお願いします。

A 回答 (1件)

エラーメッセージでは21行目となっていますが、記載されているソースでは17行しかありません。

本来であれば、エラーが出ているtest.plの内容を正確に記載すべきです。

ソースを見る限りだと、prepareをする際に$aを使っていますが、定義しているのはその後になっています。それが問題でしょう。prepareはexecuteの直前に入れるといいでしょう。

なお、今後については、use strictをして、文法的にきれいな書き方を身につけられたほうがよろしいかと思います。
    • good
    • 0
この回答へのお礼

有難う御座います。早速UGsanma様に教わったように、文を変えてテストしました。すぐにデータベースが作成されてきて、大変嬉しかったです。お尋ねして本当に良かったです、有難う御座いました。ソースの行は今後気をつけます。

お礼日時:2007/02/15 12:33

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