oracle不同版本

问题是什么寻找解决方式首先Oracle的jdbc链接有几种形式?Oracle 11g的链接是什么呢Oracle 12C的链接是什么呢我的代码是哪种!?发现问题没

解决问题代码

问题是什么

项目上建立Oracle数据源,以前大部分都是,11g的版本,测试包括获取表以及字段都没有问题,后来新的现场,多了一种oracle的版本12c,这个版本的数据库一直显示无法链接。 如图: Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor (CONNECTION_ID=ZQApaCNVQcuxVuA+hzvDew==)

寻找解决方式

首先Oracle的jdbc链接有几种形式?

Oracle 11g的链接是什么呢

String jdbcUrl = "jdbc:oracle:thin:@hostname:port:SID";

String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:ORCL";

String jdbcUrl = "jdbc:oracle:thin:@//hostname:port/service_name";

String jdbcUrl = "jdbc:oracle:thin:@//localhost:1521/ORCL";

Oracle 12C的链接是什么呢

String jdbcUrl = "jdbc:oracle:thin:@hostname:port:SID";

String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:ORCL";

我的代码是哪种!?

发现问题没

我的代码使用的是两种带着斜杠的这种写法

String jdbcUrl = "jdbc:oracle:thin:@//hostname:port/service_name";

所以oracle 12c 通过不了

解决问题

只要使用oracle 11g和12c 都可以用的方式即可!

代码

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class OracleJDBCExample {

public static void main(String[] args) {

// JDBC连接参数

String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:ORCL"; // 数据库连接字符串,格式为 jdbc:oracle:thin:@host:port:SID

String username = "XXX"; // 您的数据库用户名

String password = "XXX"; // 您的数据库密码

Connection connection = null;

Statement statement = null;

ResultSet resultSet = null;

try {

// 注册Oracle JDBC驱动程序

Class.forName("oracle.jdbc.OracleDriver");

// 建立数据库连接

connection = DriverManager.getConnection(jdbcUrl, username, password);

// 创建Statement对象用于执行SQL查询

statement = connection.createStatement();

// 执行SQL查询

String sqlQuery = "SELECT * FROM your_table";

resultSet = statement.executeQuery(sqlQuery);

// 处理查询结果

while (resultSet.next()) {

// 从结果集中获取数据,例如:

int id = resultSet.getInt("id");

String name = resultSet.getString("name");

// 在这里处理数据

System.out.println("ID: " + id + ", Name: " + name);

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

System.err.println("无法找到Oracle JDBC驱动程序,请确保驱动程序在类路径中。");

} catch (SQLException e) {

e.printStackTrace();

System.err.println("数据库连接或查询失败。");

} finally {

try {

// 关闭ResultSet、Statement和Connection

if (resultSet != null) resultSet.close();

if (statement != null) statement.close();

if (connection != null) connection.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

相关文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。