- 締切済み
CGIからAccessの操作がうまくできません・・・。
AccessからSQLでデータを取り出すCGI(Perl)を作っているのですが、 コマンドプロンプトで実行するとSQLが正しく実行されデータを抽出できるのに、 CGIとして動かすと、SQLの実行がうまくいかないようで、データの抽出ができません。 何に問題があるのでしょうか・・・? CGIもPerlも全くのド素人なので、本やネットでひとつひとつ調べながら書いていて、 このエラーに関しても、ここ2,3日ずっと調べたり書き換えて試したりしているのですが、 全く原因がわからず、途方にくれています(>_<) 助けてください・・・。よろしくお願いいたします。 ■CGIのソース ---------------------------------- #!C:/Perl/bin/perl use OLE; $cnDB = CreateObject OLE "ADODB.Connection"; $cnDB->Open('Test'); # TestはODBC接続しています $rs = $cnDB->Execute('SELECT * FROM test;'); $ret = ""; if($rs eq undef){ $ret = "ERROR"; } else{ for ( ; !$rs->EOF(); $rs->MoveNext ) { $ret = $ret.$rs->Fields('data')->Value"\n"; } } $rs->Close(); $cnDB->Close(); # このあとHTML形式で$retを書き出して結果を見ています ■実行結果($retの値) ---------------------------------- ・コマンドプロンプトで実行 $ret = 抽出データ ・CGIで実行 $ret = ERROR ■実行環境 ---------------------------------- ・ActivePerl5.8.x (xはなんだったか忘れてしまいました) ・Windows2000サーバー上で実行(IIS) ----------------------------------
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hiroaki_0
- ベストアンサー率53% (131/245)
お礼
ODBC接続の設定ミスが原因だということがわかりましたf(^^;; どうもありがとうございました。
補足
回答ありがとうございますm(_ _)m 私の知識が乏しいため、ずれたことを書いているかもしれませんが・・・。 開こうとしているAccessファイルのセキュリティは 「Everyoneでフルコントロール」になっています。 なので、誰でも「フルコントロール」で使えるのかなと思います。