2012-04-18 14 views
1

私のプロジェクトの全体的な目標は、別のサーバ上のOracleデータベースに接続し、PHPを使用してクエリを実行することです。データはJavaScriptを使用しています。PHP/oci8を使用したOracle Remote DBへの接続 - リスナの使い方がわからない

私のサーバーは、これまでのところ、私はウェブ上で指示を出し続いていると私のサーバー上のOCI8などのOracle InsantクライアントをインストールしたCentOSの

を実行しています。

次に、リモートサーバーにトンネルするためのシェルスクリプトを作成しました。 oci_connect():ORA-私はこのブラウザで、私は次のエラーを取得しています

警告をロードすると、私は試してみて、データベース

<?php 
$conn = oci_connect('name', 'pw', 'servername/databasename'); 
if(!$conn){ 
     $e = oci_error(); 
     trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
} 

oci_close($conn); 

?> 

に接続するために、テストのPHPファイルを作成し

次12541:TNS:/var/www/html/djc/ociConnect.phpの3行目にリスナーがありません。致命的なエラー:ORA-12541:TNS:/var/www/html/djc/ociConnect.phpの6行目のリスナーがありません

私はこのエラーについて私の研究を行っており、大きな問題があることを知っています lsnrctl start

lsnrctl機能がありません。また、TNSNAMES.ORAまたはLISTENER.ORAファイルもありません。

私のサーバーでlsnrctlを動作させる方法や正しい角度からこの問題を攻撃する方法がわかりません。

また、rpmからインストールしたsqlplusを起動しようとすると、コマンドが見つかりません。

提案がありますか? 私が正しい荘園で私の目標を達成しようとしているのかどうかわからないので、どんな助けも大歓迎です。

+0

トンネルが正しく作成されていないようです。一度他のシェルでトンネルを走らせると、すべてが一緒になって働きました。 –

答えて

2

私はとの接続に使用:

//Putenv("NLS_LANG=SPANISH_SPAIN.WE8ISO8859P15"); 
$db="(DESCRIPTION= 
    (ADDRESS_LIST= 
     (ADDRESS=(PROTOCOL=TCP) 
     (HOST=$GLOBALS[dbhost])(PORT=$GLOBALS[dbport]) 
     ) 
    ) 
     (CONNECT_DATA=(SID=$GLOBALS[dbname])) 
)"; 
$conn = OCILogon($GLOBALS['dbuser'],$GLOBALS['dbpasswd'],$db); 

は$ GLOBALS [ 'DBUSER']、$ GLOBALS [ 'dbpasswd']、$ GLOBALS [DBHOST]、$ GLOBALS [DBNAME]、$ GLOBALS [dbportはを交換してください]それに応じて。

関連する問題