You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JDBC连接Oracle数据库提示网络适配器无法建立连接如何解决

连接报错排查解决指南

核心根因定位

你当前代码中的JDBC连接URL配置错误是最直接的报错原因:你填写的是连接本地Oracle默认XE实例的地址,而实际需要连接的是学校的远程Oracle实例,报错堆栈也明确标注了尝试连接的是本地localhost:1521端口,本地没有运行对应Oracle服务所以直接抛出连接拒绝异常。

分步解决步骤

  • 修正JDBC连接URL
    将代码中原来的连接字符串替换为匹配学校数据库参数的格式:
    原错误URL:jdbc:oracle:thin:@localhost:1521:xe
    修正后URL:jdbc:oracle:thin:@155.158.xxx.xx:1521:olt*****
    注意将占位的xxx和星号替换为实际的主机地址、完整SID值。
  • 提前验证网络连通性
    跑代码前先在本地终端/命令提示符执行telnet命令验证端口可达性:telnet 155.158.xxx.xx 1521
    如果telnet连接失败,优先确认你是否已连接学校内网/专属VPN,或联系学校管理员确认你的IP是否在数据库访问白名单内。
  • 检查JDBC驱动兼容性
    确认项目导入的ojdbc驱动版本与学校Oracle数据库的大版本匹配:Oracle 11g对应ojdbc6,Oracle 19c及以上对应ojdbc8,版本不兼容也会触发连接异常。
  • 校验账号权限
    上述步骤都验证通过后,确认用户名、密码没有大小写拼写错误,同时确认该账号被分配了远程连接数据库的权限。

修正后参考代码

package net.codejava;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JavaOracleTest {

    public static void main(String[] args) {
        // 替换为实际的主机地址、SID
        String dbURL = "jdbc:oracle:thin:@155.158.xxx.xx:1521:olt*****";
        String username = "msbd**";
        String password = "haslo****";
        
        try {
            Connection connection = DriverManager.getConnection(dbURL, username, password);
            System.out.println("Połączono z serwerem Oracle");
        } catch (SQLException e) {
            System.out.println("Error");
            e.printStackTrace();
        }

    }

}

内容的提问来源于stack exchange,提问作者Kendzialo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:48:03