こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

CentOS7から外部サーバーのOracle接続

CentOS7からJqueryなどを使って、WEBページ上でボタンなどを押したら、別サーバー上のOracleデータベースのデータを取得したいと考えています。
ただ、サーバーIPアドレスや、サーバー名、DB名などを指定して接続では接続できなくて、素人の質問かと思いますが、どのような設定?をすればCentOS7からOracleサーバーへのDB接続ができて、データを取得することができるのでしょうか。
教えていただけましたら幸いです。
足りない情報などございましたらお聞きください。
どうぞ宜しくお願いします。

投稿日時 - 2017-11-21 17:50:23

QNo.9399801

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

>oracle-instantclient12.2-basic-12.2.0.1.0-1,oracle-instantclient12.2-devel-12.2.0.1.0-1
>というのはオラクルのバージョンに関係あるのでしょうか?
>特に関係なく、このファイルをインストールすればよろしいのでしょうか。

関係はあります。
メジャーバージョン(例にあげてるのだと12)が2つくらいの差は大丈夫だったと思いますが、あまりに差がありすぎるとOracle社としては動作保証してなかったはずです。

投稿日時 - 2017-11-22 00:08:46

お礼

wormhole さん

ご回答ありがとうございます。
すみません、色々試行錯誤していて遅くなりました。

オラクルのinstantclientはインストールできたと思うのですが、DBD::Oracleをインストールするところで、ミラーサイトを何度も参照?していて、Retryを繰り返している感じです。
こちらは何かうまく設定できていないからでしょうか・・・?
もしお分かりになるようでしたら教えてください。
よろしくお願いいたします。

投稿日時 - 2017-11-24 21:10:53

ANo.3

>CentOS7にオラクルのクライアントをインストールというのはどのようにしたらよろしいのでしょうか。

OracleのサイトからInstant Clientをダウンロードしてインストールして
(oracle-instantclient12.2-basic-12.2.0.1.0-1,oracle-instantclient12.2-devel-12.2.0.1.0-1があればいいと思います)、
Perlの拡張モジュールDBD::Oracleをインストールしてください。

詳細はPerl Oracleで検索すれば見つかるかと思います。

投稿日時 - 2017-11-21 19:33:40

お礼

wormhole さん

返信ありがとうございます。

やってみます!
oracle-instantclient12.2-basic-12.2.0.1.0-1,oracle-instantclient12.2-devel-12.2.0.1.0-1
というのはオラクルのバージョンに関係あるのでしょうか?
特に関係なく、このファイルをインストールすればよろしいのでしょうか。

投稿日時 - 2017-11-21 20:10:09

ANo.2

CGI はどの言語で書かれていますか?
Oracle の場合、各言語の拡張機能等をインストールしなければいけない場合がありますし、Webサーバ(CentOS 7)側にOracleのクライアントをインストールして、CGI -> Client -> DB Server という接続で使用する場合もあります。
その場合は接続情報(host名、ID、Password等)はクライアントの設定ファイルに記述する事になります。

投稿日時 - 2017-11-21 18:39:38

お礼

t_ohta さん

返信ありがとうございます。
CGIはPerlで書いています。同じサーバー内のDBからのデータ取得などはできています。

CentOS7にオラクルのクライアントをインストールというのはどのようにしたらよろしいのでしょうか。
できましたらオラクルの方はいじらないでCentOSの設定だけで済むようでしたら助かるのですが、それは難しいのでしょうか。

投稿日時 - 2017-11-21 18:57:48

ANo.1

サーバーIPアドレスや、サーバー名、DB名等を指定しないでOracleのDBに接続する事はできないので、根本的に無理です。

DBサーバの情報を隠した上で外部からDBにアクセスさせたいのであれば、DBサーバ側にWebサーバを用意してHTTPを使ったAPIを用意するなど、DBとクライアントの間に入るアプリケーションを用意する必要があります。

投稿日時 - 2017-11-21 18:08:29

お礼

t_ohta さん

早々のお返事ありがとうございます。
すみません、書き方が悪かったのですが、IPアドレス、サーバー名、DB名などはわかっています。
WEBページ上→JQuery→CGIでサーバー情報を設定してデータを持ってこようとしたのですが、うまく行かず、CentOS7サーバー上での設定がなにか必要なのかなと思いまして、必要ならどのような設定をすればいいのかなと言うことをお聞きしたかったのです。
何か方法はありますでしょうか。
よろしくお願いいたします。

投稿日時 - 2017-11-21 18:25:50