当前位置: 首页 > 知识库问答 >
问题:

如何用JDBC连接到Oracle数据库[副本]

聂炜
2023-03-14
package net.codejava;

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

public class JavaOracleTest {

    public static void main(String[] args) {
        String dbURL = "jdbc:oracle:thin:@localhost:1521:xe";
        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();
        }

    }

}

这是我得到的错误:

java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection (CONNECTION_ID=yV+3U5v4TK2js7gMFTixxA==)
Error
    at oracle.jdbc.driver.T4CConnection.handleLogonNetException(T4CConnection.java:882)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:687)
    at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1086)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:90)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:728)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:649)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at net.codejava.JavaOracleTest.main(JavaOracleTest.java:15)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection (CONNECTION_ID=yV+3U5v4TK2js7gMFTixxA==)
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:677)
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:568)
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:953)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:350)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:2155)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:652)
    ... 7 more
Caused by: java.io.IOException: Connection refused: connect, socket connect lapse 2003 ms. localhost 1521  0 (2/2) true
    at oracle.net.nt.TcpNTAdapter.establishSocket(TcpNTAdapter.java:421)
    at oracle.net.nt.TcpNTAdapter.doLocalDNSLookupConnect(TcpNTAdapter.java:303)
    at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:265)
    at oracle.net.nt.ConnOption.connect(ConnOption.java:238)
    at oracle.net.nt.ConnStrategy.executeConnOption(ConnStrategy.java:902)
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:638)
    ... 12 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.base/sun.nio.ch.Net.connect0(Native Method)
    at java.base/sun.nio.ch.Net.connect(Net.java:482)
    at java.base/sun.nio.ch.Net.connect(Net.java:474)
    at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:694)
    at java.base/java.nio.channels.SocketChannel.open(SocketChannel.java:194)
    at oracle.net.nt.TimeoutSocketChannel.connect(TimeoutSocketChannel.java:184)
    at oracle.net.nt.TimeoutSocketChannel.<init>(TimeoutSocketChannel.java:158)
    at oracle.net.nt.TcpNTAdapter.establishSocket(TcpNTAdapter.java:380)
    ... 17 more

我用*替换了一些细节,因为这是学校的数据库。

共有1个答案

商冠玉
2023-03-14

您的错误是:

Caused by: java.net.ConnectException: Connection refused: connect

检查您是否有:

>

  • 正确的主机名。

    String dbURL = "jdbc:oracle:thin:@localhost:1521:xe";
    
    String dbURL = "jdbc:oracle:thin:@155.158.xxx.xx:1521:xe";
    

    例如,是否应该:

    String dbURL = "jdbc:oracle:thin:@155.158.xxx.xx:1521:olt*****";
    

    正确的用户名和密码。

    数据库的访问。

  •  类似资料:
    • 我正在尝试一个程序来检查与oracle数据库的连接,如下所示 但在eclipse中运行之后,它显示了以下异常。 JAVAsql。SQLException:Listener拒绝了连接,出现以下错误:ORA-12505,TNS:Listener当前不知道连接描述符中给出的SID 请帮助我,我是oracle数据库的新手。

    • 我试图创建一个连接到一个oracle db实例(oracle:薄)使用Airflow。 根据他们的文档,我输入了我的主机名,后跟端口号和SID: 主持人:举个例子。通讯:1524/sid 填写其他字段为: 控制类型:甲骨文 模式:用户名(文档说明:使用您的用户名作为模式) 登录:用户名 密码: * * * 建立连接后,它会为我尝试执行的每个查询(ORA-12514)提供保存错误代码。甲骨文似乎不让

    • 主要内容:使用SQL * Plus连接到Oracle数据库服务器,使用SQL Developer连接到Oracle数据库服务器在本教程中,您将学习如何使用和SQL Developer 工具连接到Oracle数据库服务器。 使用SQL * Plus连接到Oracle数据库服务器 是安装Oracle数据库服务器或客户端时自动安装的交互式查询工具。 有一个命令行界面,允许您连接到Oracle数据库服务器并交互执行语句。 注意:如果有使用过MySQL或PostgreSQL,与MySQL中的mysql程序

    • 我正在尝试学习如何使用Oracle Container数据库,并只做基本的JDBC连接。我安装了一个文档化版本的Oracle: https://hub.docker.com/_/oracle-database-enterprise-edition 根据数据表,该数据库由CDB数据库ORCLCDB和PDB数据库ORCLPDB1组成。 所以我想我可以这样连接它: jdbc:oracle:thin:@l

    • 问题内容: 我可以使用tns文件从plsql连接到数据库 现在,我想使用JDBC从Java连接到数据库。 我试过的 我搜索谷歌,我发现我必须使用此连接字符串: 我的电脑名称是 myPC 在tnsfile中写入的端口是 5151 所以我尝试了这个连接字符串 但我有这个例外 我究竟做错了什么? 如何使用tns文件将JDBC连接到数据库? 问题答案: 您必须设置一个名为的属性,以指向包含您的文件的文件夹

    • 我可以使用tns文件从plsql连接到数据库 现在我想使用JDBC从我的Java连接到数据库。 我在谷歌上搜索,我发现我必须使用这个连接字符串: