java无法访问网络_java-IOException:网络适配器无法建立连接

我正在尝试从Java应用程序连接到Oracle数据库.我正在使用oracle.jdbc.driver.OracleDriver,版本:0/1连接到数据库.但是DriverManager.getConnection()给我“网络适配器无法建立连接”.这从来没有发生过.它有时仅发生一次,可能是8-10次.堆栈跟踪得到的是:

Driver Class : oracle.jdbc.driver.OracleDriver, version 0/1

java.sql.SQLException: Io exception: The Network Adapter could not establish the connection

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)

at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3678)

at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:352)

at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:365)

at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:547)

at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:347)

at java.sql.DriverManager.getConnection(DriverManager.java:316)

at java.sql.DriverManager.getConnection(DriverManager.java:297)

由于我并非每次都能获得此信息,因此我无法猜测是否存在任何连接问题.我可以看到很多开发人员都遇到同样的问题,但是对于他们来说,它每次都会发生.请帮助我,因为我实际上只能解决此问题.

解决方法:

我遇到了类似的问题,我尝试使用IP地址代替数据库URL中的主机名,并且对我有用.

示例jdbc:

...(DESCRIPTION=(ADDRESS.....(HOST=1.1.1.1)..)

标签:oracle,jdbc,java

来源: https://codeday.me/bug/20191208/2095319.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Java连接蓝牙设备并接收蓝牙发送的数据,需要使用Java的蓝牙API。以下是一个基本的示例代码,该代码演示如何打开蓝牙适配器、搜索蓝牙设备、连接到设备并接收数据: ```java import javax.bluetooth.*; import java.io.*; public class BluetoothClient { public static void main(String[] args) throws IOException, InterruptedException { // 获取本地蓝牙适配器 LocalDevice localDevice = LocalDevice.getLocalDevice(); System.out.println("本地蓝牙适配器名称:" + localDevice.getFriendlyName()); System.out.println("本地蓝牙适配器地址:" + localDevice.getBluetoothAddress()); // 搜索蓝牙设备 DiscoveryAgent discoveryAgent = localDevice.getDiscoveryAgent(); System.out.println("开始搜索蓝牙设备..."); RemoteDevice[] remoteDevices = discoveryAgent.retrieveDevices(DiscoveryAgent.GIAC); System.out.println("搜索到 " + remoteDevices.length + " 个蓝牙设备"); // 连接蓝牙设备 RemoteDevice remoteDevice = remoteDevices[0]; // 假设连接第一个蓝牙设备 String address = remoteDevice.getBluetoothAddress(); String name = remoteDevice.getFriendlyName(true); System.out.println("正在连接蓝牙设备 " + name + " (" + address + ")..."); StreamConnection streamConnection = (StreamConnection) Connector.open("btspp://" + address + ":1", Connector.READ_WRITE, true); System.out.println("已连接蓝牙设备"); // 接收蓝牙设备发送的数据 InputStream inputStream = streamConnection.openInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); while (true) { String line = bufferedReader.readLine(); if (line != null) { System.out.println("接收到数据:" + line); } else { System.out.println("蓝牙设备连接已关闭"); break; } } // 关闭连接 streamConnection.close(); } } ``` 在上面的代码中,我们首先获取本地蓝牙适配器,然后使用适配器的`getDiscoveryAgent()`方法搜索蓝牙设备。搜索到设备后,我们选择第一个设备进行连接,并使用其地址构建蓝牙连接URL。接着,我们打开连接的输入流并使用`BufferedReader`读取输入流中的数据。最后,当蓝牙设备关闭连接时,我们跳出循环并关闭连接。 请注意,此代码仅为示例代码,没有考虑错误处理和异常情况。在实际应用中,您需要更加谨慎地处理错误和异常。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值