我是Oracle新手,我正在尝试使用Java运行一个简单的示例代码,但在执行代码时遇到此错误。我能够通过CMD启动侦听器并且还能够运行SQL Plus 。任何人都可以帮我一把,告诉我我可能做错了吗?
更新: 我正在使用JDBC。
数据库是本地的,我实际上已经有了它的工作但它今天就停止了工作。我不太确定为什么。你介意给我一些程序,因为我不太了解。
答案 0 :(得分:28)
或者:
(这个奇怪的错误消息是Oracle的JDBC驱动程序无法连接到数据库服务器时产生的。'网络适配器'似乎是指代码中的某些组件,这不是很有用。真正的网络适配器( NICs根本没有建立连接:TCP协议栈就是这样做的。如果它们只是抛出原始的ConnectException
,或者至少使用它的错误消息并让它出现,那将会更有用在堆栈跟踪中。)
答案 1 :(得分:7)
我遇到了同样的问题,这就是我修复它的方法。 我使用错误的端口进行连接。
private final String DB_URL = "jdbc:oracle:thin:@localhost:1521:orcll"; // 1521 my wrong port
(我的本地地址):https://localhost:1158/em
登录
在'General'下方点击LISTENER_localhost
编辑您的连接 将端口1521更改为1522。
答案 2 :(得分:3)
您可能想要检查listener.ora文件是否与尝试连接到数据库的方式相匹配。如果您通过localhost引用进行连接,并且您的listener.ora文件已从以下位置更改:
HOST = localhost
到
HOST = 192.168.XX.XX
然后,除非您更新主机文件以适应此错误,否则这可能会导致您遇到的错误。有人可能已进行此更改以允许从其他计算机远程连接到数据库。
答案 3 :(得分:1)
我发现在我的情况下,我的数据库所在的子网与我尝试访问数据库的子网不同。
答案 4 :(得分:0)
要解决网络适配器错误,我必须删除计算机名称中的-
。
答案 5 :(得分:0)
就我而言,我需要指定viahost
和viauser
。值得一试,如果你在一个复杂的系统中。 :)
答案 6 :(得分:0)
对我来说,只安装了基本的oracle。请确保安装了oracle,然后尝试检查主机和端口。
答案 7 :(得分:0)
很可能您配置了错误的侦听器,在连接字符串中指定的主机名必须与侦听器中的主机名相同。
首先检查与防火墙和网络相关的问题。
检查Oracle Listener服务是否可用并正在运行。如果没有,则可以使用Oracle Net Configuration Assistant工具添加和注册新的侦听器。
如果上述步骤正确,那么您需要适当地配置Oracle Listener。您可以使用Oracle Net Manager工具或手动编辑“%ORACLE_HOME%\ network \ admin \ listener.ora”文件。
有两个选项需要仔细考虑: 与侦听器关联的侦听位置–侦听位置中的主机名(IP)和端口必须与连接字符串中使用的完全匹配。
例如,如果您使用192.168.74.139作为目标主机名,则必须使用相同的IP地址注册侦听位置。
还要确保您使用与侦听器关联的数据库服务中指示的SID。
答案 8 :(得分:0)
在Windows属性中重命名PC时出现此错误。 pc名称必须在listener.ora
文件中
答案 9 :(得分:0)
我也有这个问题。我正在使用jdbc连接字符串连接到数据库。在字符串中错误配置了主机名。我使用的是Mac,并且Windows机器上使用的字符串相同,没有问题。在我的连接字符串上,我必须确保具有完整的URL,并在主机名的末尾附加“ organizationname.com”。
希望这会有所帮助。
答案 10 :(得分:0)
只需尝试重新创建连接。在我的情况下,JDBC连接之一无故停止工作。从控制台sqlplus工作正常。 我花了2个小时才意识到,如果我创建相同的连接-可以。