
本日、DBI->CONNECTで返ってこないと質問をしたものです。
色々と調べているうちに、もしかしたらDBアクセスはおわり、その後のCGIが表示できなくなっているかもしれないと思うようになりました。
ORCLE9iがあるあとで、PERL,Apacheをインストールしました。
DBアクセスをしない状況ですと、CGIのプログラムは何の問題も無く、動きます。
ただ、DBアクセスしようとするとエラーもでない状況で、画面に何も出ません。
ApacheのORACLEに関する環境設定が必要なのでしょうか?
環境は、Windows XP
Active Perl 5.8.7.813
DBI 1.602 ,DBD-Oracle 1.17
Apache 2.0.54
どなたか、わかる方いらっしゃいますでしょうか?
この件で2日悩んでおります。
宜しくお願いします。
No.4ベストアンサー
- 回答日時:
> 直接ORACLEアクセスはあきらめて、ACCESS経由にしました。
> 自分のパソコンにmdbを作成した場合には、成功しました。
ODBC 経由にするということですか?(Windows には明るくないので,違う接続方法があるのだとしたらごめんなさい)
Oracle のODBCドライバをインストールし、コントロールパネルからODBCの接続設定をし、その際にインストールしたドライバを選択。
Oracle のサービスIDやらユーザ名やらを入力して完了。
上手くいっていれば ACCESS から該当のデータベースが見れるはず。
以降は、データソース名(DSN)をつかってPerlから操作できるようになります。
ODBCの接続設定で利用するパラメータは、DBI,DBDでの接続パラメータと変りないです。
ベンダーごとにことなる処理をラッピングして、共通的な処理にまとめ上げるのがODBCの役割でもあるので。
ですから、やっぱりうまくいかないってケースもありえます。
#Oracleのサービス名の解決が面倒なんで、よくハマるみたいです。
#基本的には、ホスト名,ポート名,SID,ユーザ名,パスワードなんですけど、デフォルトの接続ポートが 1521 なので、他の質問で 8080 とされていたことが少し気になります。
違いがあるとしたら、使っているドライバの差異じゃないかなと思います。
DBDの中身についてはよく知らないのですが、pure に Perl だけで作られているんでしょうかね?何かしら Oracle のライブラリ DLL とか使ってないんだろうか?
実はOracleクライアントが必要だったってオチもあるんじゃないかと。
これって、配布するプログラムなんですか?配布先で動く環境を整えるのが面倒そうですね。
No.5
- 回答日時:
> 自分のパソコンにmdbを作成した場合には、成功しました。
> ただ、ファイルサーバー上だと、コネクトができませんでした。
自分のPCにスクリプトを置いたら、同じくDBIでコネクトできるのでしょうか?
となると、Oracleサーバ側でアクセス元を制限してるのかなぁ。
Firewallと、Oracleユーザ設定の両方を確認して下さい。
No.3
- 回答日時:
ブラウザ上で動作確認していませんか?
CGIとして動かすと、(ヘッダを出力してない等)CGI側の問題なのか、
Oracleへの接続の問題なのか、分かりにくいという事です。
Perlが返してくれるエラーの内容も確認できませんので、
問題がどちらか明確に切り分けるためにも
作成したスクリプトをWindowsのコマンドプロンプト上で実行して下さい。
use CGI::Carp qw(fatalsToBrowser);で、ブラウザ上でもエラー内容が見れたりしますが。
御礼が遅くなり、申し訳ありませんでした。
親切にありがとうございます。
結局、直接ORACLEアクセスはあきらめて、ACCESS経由にしました。
自分のパソコンにmdbを作成した場合には、成功しました。
ただ、ファイルサーバー上だと、コネクトができませんでした。
たぶん、ORACLEの時も同じようにCONNECTができなく、だめだったと思います。
ファイルサーバーの場合に、何かあるのでしょうか?
もし、知っていらっしゃいましたら、教えてください。
宜しくお願いします。
No.2
- 回答日時:
僕自身 Oracle は9i までしか使っていなく、使っていたのもだいぶ前ですし、Perlではなくて java でしたし、Windows ではなくLinuxだったので外している可能性は高いです。
もし、参考になればと思い回答してみます。
Apacheのユーザ権限などで環境変数 ORACLE_HOMEとかNLS_LANGとかORACLE_SIDを httpd.confで設定したいのであれば
SetEnv ORACLE_HOME C:¥~
のように SetEnv で設定が必要かもしれません。
(suexec を使っている場合は、CGIは違うユーザで動作するのでまた違うのかも。その場合はCGI側でENV指定してみてはどうでしょう)
また、Oracle側の設定は終わっているのですか?
Oracleは接続の仕組みが直感的じゃなかったと思うので、なんとか.ora にホストの登録とかしていたような。
(すみません。もうOracle開発環境は手放して久しいので、ファイル名などはわすれてしまいました)
とりあえずOracle client が入っているのであれば、sqlplus で接続確認してみてはどうでしょうか?
Oracleまで届いていて、エラーがあるのであれば ORA-XXXX のエラーが見れると思うので一応確認してみてはどうでしょう。
Windows 環境でよくあるパターンとして、何かしらのセキュリティ関連(ファイアーウォールとか、アンチウイルスソフトとか)が遮断していたとか。
#もう確認済みとは思いますが、プログラム指定するタイプのファイアーウォールソフトを使っていた場合は、sqlplus は許可しても perl の許可を忘れていたりすることもあると思うので。
基本的な事柄ばかりで、あまり参考にならないかもしれませんね。すみません。
御礼が遅くなり、申し訳ありませんでした。
親切にありがとうございます。
結局、直接ORACLEアクセスはあきらめて、ACCESS経由にしました。
自分のパソコンにmdbを作成した場合には、成功しました。
ただ、ファイルサーバー上だと、コネクトができませんでした。
もし、知っていらっしゃいましたら、教えてください。
宜しくお願いします。
No.1
- 回答日時:
前の質問、「Oracle」が「oracle」になってますよ。
・サンプル
my $dbh = DBI->connect("dbi:Oracle:$dbname", $dbuser, $dbpass)
or die "Unale to connect to $dbname: $DBI::errstr\n";
コマンドプロンプトからスクリプト実行すれば、Apacheと切り離せるんじゃないでしょうか。
参考URL:http://perldoc.jp/docs/modules/DBD-Oracle-1.14/O …
kuroizellさん、ありがとうございます。
Oracleに変えてみましたが、結果は同じでした。
コマンドプロンプトからスクリプト実行すれば、Apachetoと切り離せるとは、参考のURLを
見ましたが、私の能力では意味がわかりませんでした。
誠に申し訳ありませんが、教えていただけないでしょうか?
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CANONプリンターのソフトウェア...
-
PCのネット接続について質問です。
-
従量制課金接続についての警告
-
PCでwin7サポート終了後にイ...
-
有線LANと無線LANを簡単に切り...
-
家のwifiを、夜にだけ切る方法 ...
-
「インターネットに接続せずに...
-
ネット広告 不快なのは? わた...
-
なぜ両端ともタイプAのUSBケー...
-
ローカルエリア接続の送信・受...
-
鹿島田でスマホの接続が悪くな...
-
パソコンとeo光ルーターの無線接続
-
ガラケーをWi-Fiにつなげると、...
-
PCでFAXを送りたいが...「Conex...
-
プロバイダー無しでパソコンを...
-
PC間のシリアル通信とTCP/IPの...
-
パソコンのWireless LAN adapte...
-
フリガナ
-
Microsoft Text Input Applicat...
-
WINDOWS11 WiFiはつながってい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードでURLにハイパーリンクで...
-
CANONプリンターのソフトウェア...
-
プロキシが勝手に設定されるこ...
-
起動すると、プロキシサーバー...
-
perlでDBアクセスする際にapach...
-
【至急】カラーミーに詳しい方...
-
ブラウザ(IE)に多段でプロキシ...
-
PROXY規制中って???
-
ホームページNinja2002を...
-
real「 サーバへの接続を確認で...
-
FireFoxが見れなくなりました
-
WindowsXP SP2のインターネット...
-
インターネットが出来ません・...
-
PCのネット接続について質問です。
-
WINDOWS11 WiFiはつながってい...
-
なぜ両端ともタイプAのUSBケー...
-
YouTube「インターネットに接続...
-
従量制課金接続についての警告
-
インターネット接続なしで家庭...
-
ネット広告 不快なのは? わた...
おすすめ情報