- 締切済み
データベースが読めなくなって困っています(>_<)
Perl 5.1.9、Apacheの環境下で動かしていた掲示板のプログラムをNiftyのLaCoocan に移したところ、データーベースの内容が表示されなくなってしまいました。 プログラムは、変更自由のフリーのものを、自分用に変更して作成したものです。 dbmopen、dmbcloseを使用しています。モジュールは、CGI_Liteを使用しています。 Apacheでは、正常に動いていました。 原因がわからず、困っています。どういうことが考えられるでしょうか? 今後も何とか使いたいので、教えてください。お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- sakusaker7
- ベストアンサー率62% (800/1280)
>書いてもらった英文と例文(?)はどのような意味ですか? オンラインマニュアルの、dbmopen のところから一部切り出したものです。 要するに dbmopen は obsolete だから tie を使えということです。
- sakusaker7
- ベストアンサー率62% (800/1280)
dbmopenを使うのは古いやり方なんですがまあそれはおいといて、 dbmopen したときに正常にオープンできていますか? データベースの実体を違うマシンからコピーしても、 データベースルーチンが違うとか、同じでもバージョンが違うとか いくつかデータベースのフォーマットに互換性がなくなる可能性があります。 こういうときは一度テキストにデータベースの内容をシリアライズしておいて 新しいマシンでデータベースを再構築すると貸した方が良いと思います。 You can control which DBM library you use by loading that library before you call dbmopen(): use DB_File; dbmopen(%NS_Hist, "$ENV{HOME}/.netscape/history.db") or die "Can't open netscape history file: $!";
お礼
回答ありがとうございます。 オープンエラーにはなっていないのですが、やはり再構築したほうがいいのでしょうか…。 そのままなんとか使えないかと思ったのですが。 古い本を参考にしたので、新しいデータベース用のやり方に変えたほうがいいのかなとも思ったのですが、あまりよくわからなくって。 書いてもらった英文と例文(?)はどのような意味ですか?
お礼
教えていただき、ありがとうございました。 tie を使用するように変えてやってみます。 どうもありがとうございました。