![SQL Developer - 网络适配器无法建立连接](https://linux22.com/image/720691/SQL%20Developer%20-%20%E7%BD%91%E7%BB%9C%E9%80%82%E9%85%8D%E5%99%A8%E6%97%A0%E6%B3%95%E5%BB%BA%E7%AB%8B%E8%BF%9E%E6%8E%A5.png)
这是我第一次连接 Oracle 服务器。我使用的是 SQL Developer。他们只给了我一个 IP、默认端口 (1521)、一个用户名和一个密码。所以我在“新建/选择数据库连接”对话框中填写了它们。按下“测试”后,我等待了一会儿,然后得到了以下信息:
Status: Failure -Test failed: IO Error: The Network Adapter could not establish the connection
可能我不知道该向他们询问什么信息,或者他们发给我的信息不完整。我第一次询问时,他们只向我发送了凭证,当我询问他们的服务器主机时,他们向我提供了一个 LAN IP(192.168...),而他们应该知道我不是从他们的网络内部访问的。
他们还发送了一个“数据库名称”,然后我也尝试填写它(在“服务名称”字段中,然后作为 SID,认为这可能是缺失的部分,但我总是收到相同的错误。
编辑:我要求他们允许我的 IP 通过他们的防火墙进行公共访问,但也许他们不明白我要求什么,或者我做错了什么。
我应该如何向他们请求访问权限,以便他们向我发送可用于连接其 Oracle 服务器的内容?或者我该如何排除故障/验证访问权限?
答案1
该错误The Network Adapter could not establish the connection
可能意味着您无法连接到该 TCP 端口。使用以下命令进行验证:
telnet 1.2.3.4 1521
如果屏幕等待您的输入,则表示您已连接。这意味着 TCP 层正常工作。否则 telnet 将打印错误。在较新的 Linux 系统上,您也可以nc -v
以同样的方式使用。
附注 1:如果他们的 DBA 向您发送了“数据库名称”,则意味着他们不太了解发生了什么(在非常基本的层面上)。他们应该告诉您 SID 或服务名称(通常不是同一个东西,尽管有些人将其设置为相同的值)。
附注 2:当 TCP 开始工作时,错误消息可能会变成“不了解服务 X”。这意味着没有这样的 SID 或没有这样的服务名称(或两者不匹配)。