OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

PerlからDBの接続

  • すぐに回答を!
  • 質問No.235124
  • 閲覧数132
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 82% (58/70)

やまとです。こんにちは。

PerlからDBに接続しているのですが、うまく出来ません。
環境は
OS : Windows2000、Perl : ActivePerl628、DB : Sybase11.0.3
DBI : DBI1.18、DBD : DBD_Sybase
です。
DBDとDBIインストール後、DBに接続するとエラーが起こります。

エラーが起こる場所は(ソース抜粋記載)
use DBI; (←ここは平気)
$dbh=DBI->connect($database, $db_user, $db_password) or return 0;
     (↑ここがエラー)
以上の箇所です。

もちろん、$database, $db_user, $db_passwordそれぞれの変数には
正しい値が入っています。

次にerror.logの内容ですが、
1つ目は、
Premature end of script headers: C:\・・・・・・・(←実行ファイル名)
2つ目は、
install_driver(Sybase) failed: DBD::Sybase initialize: cs_ctx_alloc() failed at C:/Perl/lib/DynaLoader.pm line 225.
3つ目は
at ./test.cgi line 43 (←connectの場所)
となっております。

色々調べてみましたが、分かりませんでした。
use DBI; は正常に動作していますので、DBDとDBIのインストールは正常に
出来ていると思うのですが・・・

同じ経験、又は、このエラーに関して分かる方いらっしゃいましたら、
対処法、ご教授願いたいのですが。

宜しくお願いします。

#環境の情報など不足している部分がありましたら補足させて頂きます。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル11

ベストアンサー率 38% (114/297)

こんにちは。

>もちろん、$database, $db_user, $db_passwordそれぞれの変数には正しい値が入っています。
とのことですが、書式もあっているのでしょうか??

cgiとして動かしているのなら、1のerrorはhttpヘッダ及びstatusがきちんと返って来ない場合におきることが多いです。
改行コードの問題でおきることもありますし、ftpでアスキーコードでアップロードしなおせば直ることもあります。
2のエラーはDBDモジュールが返してるものだと思います。
インストールの際にエラーメッセージや警告などは出ませんでしたか??
3は何がエラーになっているか表示されていないのでわかりません。

DBIはMLもありますので、質問されてみてもいいと思います。
また、参考URLはご覧になっているでしょうか??
お礼コメント
jyamato

お礼率 82% (58/70)

ご回答ありがとうございます。

実は、全く同じ環境がありまして、その環境で動いているCGIをそのまま使用しています。そちらでは正常に動作しているのです。
よって、CGIの構文ミスはないと思うのですが・・・
ちなみに、DBD,DBIのコンパイルエラーは出ていません。

エラー内容から見ると、やはりDBD,DBIのインストールが出来ていないのでは
と思っております。(かなり煮詰まっている状態です)

ご紹介していただいたサイトを参考にもう一度確認してみようと思います。
投稿日時 - 2002-03-15 09:24:34
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ