IO 错误:网络适配器无法建立连接
Posted
技术标签:
【中文标题】IO 错误:网络适配器无法建立连接【英文标题】:IO Error: The Network Adapter could not establish the connection 【发布时间】:2012-09-16 11:11:59 【问题描述】:我是 Oracle 新手,正在尝试使用 Java 运行一个简单的示例代码,但在执行代码时出现此错误。我可以通过 CMD 启动侦听器,也可以运行 SQL Plus .谁能帮我一把,告诉我我可能做错了什么?
更新: 我正在使用 JDBC。
数据库是本地的,我确实可以使用它,但它就在今天停止工作。我不确定为什么。你介意给我一些程序吗,因为我知道的不多。
【问题讨论】:
您需要发布产生此错误的代码 @EJP 是的,先生!更新帖子以反映这一点! 【参考方案1】:要么:
-
数据库未运行
您输入的网址有误
有防火墙挡道。
(这个奇怪的错误消息是由 Oracle 的 JDBC 驱动程序在无法连接到数据库服务器时产生的。“网络适配器”似乎是指他们代码的某些组件,这不是很有用。真正的网络适配器( NIC)根本不建立连接:TCP协议栈会这样做。如果他们只是让原始的ConnectException
被抛出,或者至少使用它的错误消息并让它出现在堆栈跟踪。)
【讨论】:
我如何确保我的数据库正在运行? @Strawberry 通过供应商为此目的提供的实用程序。【参考方案2】:我遇到了同样的问题,这就是我解决它的方法。 我的连接使用了错误的端口。
private final String DB_URL = "jdbc:oracle:thin:@localhost:1521:orcll"; // 1521 my wrong port
去你的本地主机
(我的本地主机地址):https://localhost:1158/em
登录
用户名 密码 连接为 --> 正常在“常规”下方点击 LISTENER_localhost
看看你的端口号 网络地址 (ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522)) 连接到端口 1522编辑你的连接 将端口 1521 更改为 1522。
完成【讨论】:
我也遇到了同样的问题,因为我忘记了@ +1。我有同样的问题。我忘记了@。示例:JDBC_STRING="jdbc:oracle:thin:@aravindr-dra0r0.cyrbi4kznovv.us-west-1.rds.amazonaws.com:8195:DRA0R0"【参考方案3】:您可能还想检查 listener.ora 文件是否与您尝试连接到数据库的方式相匹配。如果您通过 localhost 引用进行连接,并且您的 listener.ora 文件从以下位置更改:
HOST = localhost
到
HOST = 192.168.XX.XX
那么这可能会导致您遇到的错误,除非您更新主机文件以适应这种情况。可能有人进行了此更改以允许从其他计算机远程连接到数据库。
【讨论】:
【参考方案4】:要解决网络适配器错误,我必须删除计算机名称中的 -
。
【讨论】:
【参考方案5】:就我而言,我需要指定viahost
和viauser
。如果你在一个复杂的系统中,值得一试。 :)
【讨论】:
【参考方案6】:对我来说,没有安装基本的 oracle。请确保您已安装 oracle,然后尝试检查主机和端口。
【讨论】:
【参考方案7】:我发现在我的情况下,我的数据库与我尝试访问数据库的子网位于不同的子网中。
【讨论】:
【参考方案8】:很可能你的监听器配置错误,你在连接字符串中指定的主机名必须与监听器中的相同。
首先检查防火墙和网络相关问题。
检查 Oracle 侦听器服务是否可用并正在运行。如果没有,您可以使用 Oracle Net Configuration Assistant 工具添加和注册新的侦听器。
如果以上步骤都ok,那么你需要适当配置Oracle Listener。您可以使用 Oracle Net Manager 工具或手动编辑“%ORACLE_HOME%\network\admin\listener.ora”文件。
有两个选项需要仔细考虑: 与侦听器关联的侦听位置 – 侦听位置中的主机名 (IP) 和端口必须与连接字符串中使用的完全匹配。
例如,如果您使用 192.168.74.139 作为目标主机名,则必须有使用相同 IP 地址注册的侦听位置。
还要确保您使用与侦听器关联的数据库服务中指示的相同 SID。
https://adhoctuts.com/fix-oracle-io-error-the-network-adapter-could-not-establish-the-connection-error/
【讨论】:
你好。虽然发布一些链接是可以的,但我们更喜欢发布一些解释和一些来源摘录,请阅读How to Answer 并改进您的答案。【参考方案9】:当我在 windows-properties 中重命名 pc 时出现此错误。电脑名称必须在listener.ora
-文件中更新
【讨论】:
【参考方案10】:我也遇到了这个问题。我正在使用 jdbc 连接字符串连接到数据库。主机名在字符串中配置不正确。我正在使用 Mac,并且在 Windows 机器上使用相同的字符串没有问题。在我的连接字符串中,我必须确保在主机名末尾附加了“organizationname.com”的完整网址。
希望这会有所帮助。
【讨论】:
【参考方案11】:尝试重新创建连接。在我的情况下,jdbc 连接之一无缘无故停止工作。从控制台 sqlplus 工作正常。 我花了 2 个小时才意识到,如果我创建相同的连接 - 它可以工作。
【讨论】:
以上是关于IO 错误:网络适配器无法建立连接的主要内容,如果未能解决你的问题,请参考以下文章
我在我的 oracle 数据库中收到错误“网络适配器无法建立连接”