3

有没有办法可以在 Windows 上配置 XE 安装以仅使用 localhost 接口上的端口而不使用外部接口?我想在没有其他人能够连接到我的实例的情况下运行它进行开发。

我尝试修改 listener.ora 和 tnsnames.ora 文件,将“HOST =”条目更改为 localhost。我的主机文件中有以下行:

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

这有两个部分(因为有两种“技术”服务于不同的端口)。

首先是数据库端口 1521 的侦听器。您使用SQLNET.ORA设置 (tcp.invited_nodes) 作为软防火墙,因此侦听器将忽略其他节点。

其次,对于 8080 PL/SQL 网关,您需要使用 DBMS_XDB.SETLISTENERLOCALACCESS,如此处所述

于 2011-02-13T10:38:27.147 回答