我的应用程序(linux和windows)通过OCI接口连接到oracle。是否可以通过socks代理连接到oracle?或其他一些类似的代理方法?简单的ssh隧道是不够的,因为我需要通过单个端口访问多个服务(包括oracle)。
编辑:我已经尝试按照答案中的建议配置代理,但它不起作用。我无法找到任何信息,oracle可以通过socks5代理工作。
答案 0 :(得分:2)
我有同样的问题要解决。无论如何,上面的解决方案无法工作。您需要告诉客户端只使用代理进行连接初始化,但要连接的目标应该是oracle数据库服务器IP和端口。其他论坛读到没有这种可能性通过tnsnames.ora。但是你应该能够使用Connection Manager实现这一目标。还没有发现如何下载和安装它虽然...
答案 1 :(得分:2)
我认为Oracle不支持socks代理。
为了我自己解决这个问题,我做了以下事情:
我可以看到 - 这种方法并不总是有效。 PL / SQL Developer只能在3-4尝试连接到数据库。 但是在成功连接之后 - 它看起来足够稳定了。
第二个选项 - 是使用SQL Developer等基于Java的工具。 对于Java,有开箱即用的SOCKS5系统选项。 -DsocksProxyHost =本地主机 -DsocksProxyPort = 8081
在java
中有关于SOCKS的官方文档答案 2 :(得分:0)
是的,这是可能的。您的客户端tnsnames.ora文件(或EZConnect字符串)应将代理主机指定为数据库主机,将代理侦听端口指定为端口。 SERVICE_NAME或SID是代理另一端的SQL * Net侦听器所期望的任何内容。
[编辑] 如果您的代理主机在1522年正在侦听和转发,您应该能够:
telnet proxyhost 1522
并看到:
Trying xx.xxx.xx.xxx...
Connected to proxyhost.domain.
Escape character is '^]'.