39

I am new to Oracle, and am trying to run a simple example code with Java, but am getting this error when executing the code.. I am able to start up the listener via CMD and am also able to run SQL Plus. Can anyone give me a hand and tell me what I might be doing wrong?

Update: I am using JDBC.

Database is local, and I actually had it working but it stopped working just today. I'm not really sure why though. Would you mind giving me some procedures to follow by since I don't know much.

4

11 回答 11

43

任何一个:

  1. 数据库未运行
  2. 你的网址有误
  3. 途中有防火墙。

(这个奇怪的错误消息是由 Oracle 的 JDBC 驱动程序在无法连接到数据库服务器时产生的。“网络适配器”似乎是指他们代码的某些组件,这不是很有用。真正的网络适配器(NIC)不'根本不建立连接:TCP协议栈会这样做。如果他们只是让原始的ConnectException被抛出,或者至少使用它的错误消息并让它出现在堆栈跟踪中,那将会更加有用。)

于 2012-09-25T01:03:18.017 回答
8

我有同样的问题,这就是我解决它的方法。我使用了错误的端口进行连接。

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。

    • 完毕
于 2012-11-06T06:05:59.297 回答
3

您可能想要检查 listener.ora 文件是否与您尝试连接到数据库的方式匹配的另一件事。如果您通过 localhost 引用进行连接,并且您的 listener.ora 文件从以下位置更改:

HOST = localhost

HOST = 192.168.XX.XX

那么这可能会导致您遇到的错误,除非您更新主机文件以适应这种情况。可能有人进行了此更改以允许从其他机器远程连接到数据库。

于 2012-11-19T17:52:45.267 回答
2

当我在 windows-properties 中重命名 pc 时出现此错误。pc-name 必须在listener.ora-file中更新

于 2019-02-04T22:39:56.500 回答
1

我发现在我的情况下,我的数据库与我试图访问数据库的子网位于不同的子网中。

于 2017-04-11T17:00:12.730 回答
0

很可能您的侦听器配置错误,您在连接字符串中指定的主机名必须与侦听器中的相同。

首先检查防火墙和网络相关问题。

检查 Oracle 侦听器服务是否可用并正在运行。如果没有,您可以使用 Oracle Net Configuration Assistant 工具添加和注册新的侦听器。

如果上述步骤都可以,那么您需要适当地配置 Oracle Listener。您可以使用 Oracle Net Manager 工具或手动编辑“%ORACLE_HOME%\network\admin\listener.ora”文件。

有 2 个选项需要仔细考虑: 与侦听器关联的侦听位置 – 侦听位置中的主机名 (IP) 和端口必须与连接字符串中使用的完全匹配。

例如,如果您使用 192.168.74.139 作为目标主机名,则必须有使用相同 IP 地址注册的侦听位置。

还要确保您使用与侦听器关联的数据库服务中指示的相同 SID。

https://adhoctuts.com/fix-oracle-io-error-the-network-adapter-could-not-establish-the-connection-error/

于 2018-08-26T14:17:52.907 回答
-1

要解决网络适配器错误,我必须删除-计算机名称中的 。

于 2013-06-24T11:45:35.503 回答
-1

就我而言,我需要指定 aviahostviauser。如果你在一个复杂的系统中,值得一试。:)

于 2014-05-12T08:25:18.660 回答
-1

对我来说,没有安装基本的 oracle。请确保您已安装 oracle,然后尝试检查主机和端口。

于 2017-02-28T07:31:19.467 回答
-1

我也有这个问题。我正在使用 jdbc 连接字符串连接到数据库。主机名在字符串中配置不正确。我正在使用 Mac,并且在 Windows 机器上使用相同的字符串没有问题。在我的连接字符串上,我必须确保在主机名末尾附加了“organizationname.com”的完整网址。

希望这可以帮助。

于 2019-06-04T22:42:31.280 回答
-2

只需尝试重新创建连接。在我的情况下,jdbc 连接之一无缘无故停止工作。从控制台 sqlplus 工作正常。我花了 2 个小时才意识到如果我创建相同的连接 - 它可以工作。

于 2020-03-13T05:29:49.223 回答