Eclipse开发环境JDBC无法连接Oracle数据库处理

Eclipse开发环境JDBC无法连接Oracle数据库处理

一、背景

某项目开发需要在本地使用VPN连接Oracle数据库,在使用Eclipse调试时,无法连接Oracle数据库,报错信息“The Network Adapter could not establish the connection"
在这里插入图片描述

二、排查过程

1、根据报错信息,第一时间想到是否为网络故障,遂通过Telnet工具测试发现1521端口连接正常。

2、使用PLSQL客户端连接数据库正常

3、使用Oracle官方工具SQL Developer连接失败

4、使用12c jdbc驱动替换开发环境,连接依然失败

5、检查数据库服务器hosts文件,ip与主机名的解析正常

三、处理方法

经过前面几次测试,凡是使用jdbc连接方式均无法连接,而plsql使用的是Oracle OCI加载则无问题,猜测是否是使用了vpn网络存在限制,遂查阅资料。
1、在国外的案例中,使用了思科的vpn设备之后,开发环境无法连接
在这里插入图片描述

2、查看服务器网卡信息发现IPV6为开启状态
在这里插入图片描述

3、在eclipse开发工具上添加参数
windows -> perference
-Djava.net.preferIPv4Stack=true
在这里插入图片描述

开发环境可以连接Oracle数据库,故障解决。

四、总结

1、此次案例是由于使用了VPN设备(深信服),导致连接故障,在查阅Oracle DOC之后,发现在操作系统如果有IPV6环境,应用程序会使用IPV6进行连接。如果只希望应用使用ipv4必须指定修改参数为“ -Djava.net.preferIPv4Stack=true”
在这里插入图片描述

2、由于使用的vpn加密连接,wireshark无法在网络抓包中获取具体信息,也缺少相关资料,并不能再对网络进行分析,故项目中如遇此案例,可参考此方法进行处理。

附Oracle doc文档:

https://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
若要连接Oracle数据库,你需要使用Java的JDBC API,并引入相应的Oracle JDBC驱动程序。以下是在Java中连接Oracle数据库所需的常用JAR包: 1. Oracle JDBC驱动程序(ojdbc.jar):这是Oracle官方提供的用于连接Oracle数据库JDBC驱动程序。你可以从Oracle官方网站下载适用于你的Oracle数据库版本和Java版本的ojdbc.jar文件。 2. Java标准库(rt.jar):这是Java运行时环境自带的标准库,其中包含了一些基本的数据库连接和操作类。通常情况下,你不需要单独引入rt.jar。 请注意,ojdbc.jar文件的名称和位置可能会根据你使用的Oracle版本和驱动程序版本而有所不同。确保使用与你的Oracle数据库版本相匹配的ojdbc.jar文件。 将ojdbc.jar文件添加到你的Java项目中的方法有以下几种: 1. 将ojdbc.jar文件复制到你的项目目录下,并在项目构建路径中进行配置。具体步骤取决于你使用的集成开发环境(IDE)。 - 对于Eclipse:右键点击项目 -> Build Path -> Configure Build Path -> Libraries -> Add External JARs,然后选择ojdbc.jar文件。 - 对于IntelliJ IDEA:右键点击项目 -> Open Module Settings -> Libraries -> 点击加号添加ojdbc.jar文件。 2. 将ojdbc.jar文件手动添加到项目的classpath中。这种方法适用于通过命令行编译和运行Java项目。 - 编译时:使用`javac`命令时,通过`-cp`或`-classpath`参数指定ojdbc.jar文件的路径。 - 运行时:使用`java`命令时,同样通过`-cp`或`-classpath`参数指定ojdbc.jar文件的路径。 确保在代码中正确加载和使用Oracle JDBC驱动程序。你可以使用以下代码行来加载驱动程序: ```java Class.forName("oracle.jdbc.driver.OracleDriver"); ``` 然后,你可以使用类似如下的代码来创建数据库连接: ```java String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String username = "your_username"; String password = "your_password"; Connection conn = DriverManager.getConnection(url, username, password); ``` 请替换上述代码中的URL、用户名和密码为你自己的实际信息。连接成功后,你就可以使用Java JDBC API来执行SQL语句和操作Oracle数据库了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值