3

外部インターフェイスではなく、localhost インターフェイスのポートのみを使用するように、Windows で XE インストールを構成する方法はありますか? 他の誰かが自分のインスタンスに接続できないようにすることなく、開発用に実行したいと考えています。

「HOST =」エントリをlocalhostに変更して、listener.oraおよびtnsnames.oraファイルを変更しようとしました。私のホストファイルには次の行があります。

127.0.0.1 localhost

これを行ってサービスを再起動すると、apex は動作を停止し (ポート 8080 でリッスンしません)、JDBC を使用してデータベースに接続できません。JDBC で次のエラーが発生します。

Exception in thread "main" java.sql.SQLException: Listener refused the connection
with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect
descriptor
The Connection descriptor used by the client was:
localhost:1521:XE

'HOST = エントリを自分のマシンのホスト名に戻し、サービスを再起動すると、apex と JDBC の両方が正常に動作することに注意してください。

4

1 に答える 1

6

これには 2 つの部分があります (異なるポートにサービスを提供する 2 つの「テクノロジ」があるため)。

まず、データベース ポート 1521 のリスナーです。SQLNET.ORA 設定 (tcp.invited_nodes) をソフト ファイアウォールとして使用するため、リスナーは他のノードを無視します。

次に、8080 PL/SQL ゲートウェイの場合、こちらで説明されているように DBMS_XDB.SETLISTENERLOCALACCESS を使用する必要があります。

于 2011-02-13T10:38:27.147 に答える