Oracle ODBC 错误 12170 - 通过 Internet 访问

Oracle ODBC 错误 12170 - 通过 Internet 访问

我在连接到路由器的 Windows XP 32 上安装了 Oracle 8i。我在连接到同一路由器的 Windows 7 64 笔记本电脑上安装了 Oracle 客户端 v10(64 位)。我能够建立并成功测试从我的笔记本电脑到 LAN 上的 Oracle 8i 的 ODBC 连接。

然而,当我在客户端的 TNSNAMES.ORA 中将 IP 地址更改为路由器的公共 IP(我的 ISP 为我分配了一个公共 IP)并尝试通过互联网(来自另一个移动 3G ISP 的互联网)访问它时,连接失败,并出现 oracle - ORA-12170 TNS 超时。

我已经检查过了

  1. XP 和 Windows 7 上的防火墙均已关闭,包括防火墙服务
  2. 路由器中的端口转发已成功测试,端口 1521 和 2481 均在 XP 上运行监听器(yougetsignal.com)
  3. 我暂时启用了路由器中从 1 到 6000 的所有端口,认为可能还有其他我遗漏的适用端口
  4. 将 XP 机器放在路由器的 DMZ 上
  5. PATH 包括 Oracle 主目录,并且我还设置了 TNS_LANG 和 TNS_ADMIN 变量

但是 ODBC 在互联网上失败了。还有其他考虑因素、Oracle 服务或其他我遗漏的内容吗?目前很难指出这是网络问题还是 Oracle 配置问题。

更新

在我看来,ODBC 实际上是在端口 1521 上通过互联网建立连接,但不知何故返回了超时。这就是服务器上的 listener.log 所反映的情况。

10-SEP-2017 21:20:08 * (CONNECT_DATA=(SERVICE_NAME=TESTDB)(CID=(PROGRAM=C:\Windows\system32\odbcad32.exe)(HOST=VAIO)(USER=xxxxx))) * (ADDRESS=(PROTOCOL=tcp)(HOST=x.x.x.x)(PORT=5865)) * establish * TESTDB *0

谢谢

相关内容