Win2003Server+IIS6.0+ActivePerl5.8+DB2というシステムでPerlで作ったCGIを実行した際、「Can’t load ’C:/XXX/DB2.dll’ for module DBD::DB2: load_file:指定されたモジュールが見つかりません。 」というエラーがでます。誰か原因がわかる人いませんかね?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/03/30 14:48:29
  • 終了:--

回答(3件)

id:typista No.1

typista回答回数359ベストアンサー獲得回数72005/03/30 15:25:44

ポイント20pt

英語のサイトですが似たような事例がありました。

①メッセージ

 Can’t load ’D:/Perl/v5.6.1/site/lib/auto/DBD/DB2/DB2.dll’

                 for module DBD::DB2: load_file:

 The specified module could not be found

           at D:/Perl/v5.6.1/lib/DynaLoader.pm line 206

②原因

 Perhaps a required shared library or dll isn’t installed where expected


DB2.dllが存在しないか、存在していてもパスが通っていないのではないのだと思います。

oasis440さんが提示されているメッセージからも、同様に読み取れます。

→ C:/XXX/DB2.dllに実際に存在しますか?


存在しなければ、DB2のインストールディレクトリからコピーすれば、このメッセージについては、解決すると思います。

・・・が、本来はDB2.dllを探しにいく設定をDB2のインストールパスに変更するのが正しいはずですので、また他のエラーにつながる可能性はあります。その切り分けとしては試す価値はあるはずです。


私はIIS+DB2の環境を触ったことがないので、そこの辺りは、説明できず申し訳ありません。

id:oasis440

わかりにくい質問に迅速な回答をしていただき、どうもありがとうございました。DB2.dllはエラーログで指定されている場所にちゃんと存在してたりします。それなのにCan’t load といわれるとはこれいかに。IISの設定あたりに疑惑の目を向けています。

2005/03/30 16:59:40
id:googoogoo No.2

googoogoo回答回数2ベストアンサー獲得回数02005/03/30 23:36:12

ポイント20pt

URLはダミーです。

windows2003ならば、セキュリティの設定で、DB2.dllのあるフォルダに、読み取りの権限がないのではないでしょうか?

DB2.dllのフォルダが読めない=モジュールがないって判断されているとか・・・

id:oasis440

なるほど、ちょっと確認してみます。どうもありがとうございました。

2005/03/31 13:04:33
id:typista No.3

typista回答回数359ベストアンサー獲得回数72005/03/31 12:27:08

ポイント20pt

ActivePerlの導入設定ページ(oasis440さんは確実に設定済みだと思いますが)ですが、

2-1. スクリプトマッピング

を見ると、同様のことがDB2でも必要かと思います。

設定済みですか?

ん~でも、設定済みだからこそDB2.dllが見つからない(=DB2.dllを探しにいってる)と言われるってことですもんね。

※ただ、念のためご確認ください。


これでもなければ、やはりパスだと思いますが・・・

大変、失礼な話ですが、コマンドプロンプトで

dir C:/XXX/DB2.dll

※’C:/XXX/DB2.dll’は、エラーログからコピペ(手入力しない)

を試されては。

私もSEですが超簡単(基本)なことほど、「あり得ない」とタカをくくって見逃してしまうことがあります。

id:oasis440

回答どうもありがとうございます。どうやら原因はActivePerlとDBD::DBD2のバージョン不整合のようです。とりあえず解決したので終了します。どうもありがとうございました。

2005/04/01 17:20:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません