JDBC连接Oracle 11g异常

最近的一个web应用,因为服务端是aix下新装的oracle11g,要求所有系统换成11g~

重新配置好ip地址后,以前的应用报错:

 

Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor.

 

sid配置正确但无法被识别,于是网上查有如下结果(注意红字的一行)

 

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

/**
* @author
*/
public class ConnectJDBCOracle11g {

/**
* This class demonstrates the code for connecting Oracle 11g database using JDBC.
* @param args
*/
public static void main(String[] args) {
String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
String JDBC_STRING = "jdbc:odbc:thin:@HOSTNAME:PORTNUMBER/SID"; // in case of 11g use '/' instead of :
String USER_NAME = "USER_NAME";
String PASSWD = "PASSWORD";
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
try{
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(JDBC_STRING, USER_NAME, PASSWD);
stmt = conn.createStatement();

String query = "SELECT * FROM TABLE TBL";
rs = stmt.executeQuery(query);
}catch(SQLException sqlEx){
sqlEx.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally{
try {
if(rs!=null) rs.close();
if(stmt !=null) stmt.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

 

原来在11g中,连接地址:jdbc:odbc:thin:@HOSTNAME:PORTNUMBER/SID ,SID前是斜杠,而不是冒号了.

问题解决

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 11g JDBC驱动器是用于与Oracle数据库进行通信的Java数据库连接JDBC驱动程序。JDBC驱动程序是一种软件组件,用于在Java应用程序和数据库之间建立连接和传输数据。 Oracle 11g JDBC驱动程序允许使用Java编程语言来执行各种数据库操作,例如查询、插入、更新和删除数据。它提供了一种高效的方法来连接Oracle数据库,并通过JDBC API与数据库进行交互。 使用Oracle 11g JDBC驱动程序可以实现以下功能: 1. 连接管理:可以使用驱动程序建立与Oracle数据库的连接,并管理连接的打开和关闭。它可以处理连接池和连接重用等连接管理操作。 2. 事务管理:可以使用驱动程序执行数据库事务,确保多个数据库操作的原子性和一致性。 3. 执行SQL操作:可以使用驱动程序执行各种SQL查询和更新操作。它支持基本的SQL语句,如SELECT、INSERT、UPDATE和DELETE,以及高级的SQL特性,如批量插入和页面查询。 4. 结果集处理:可以使用驱动程序获取和处理从数据库返回的结果集。它提供了一组API来操作结果集,如检索数据、移动指针和编辑数据。 5. 元数据访问:可以使用驱动程序获取数据库的元数据信息,如表、列和索引的名称和类型。这些信息对于动态生成SQL查询和数据处理非常有用。 6. 异常处理:可以使用驱动程序处理与数据库操作相关的异常。它提供了一组异常类来捕获和处理各种数据库错误和问题。 总之,Oracle 11g JDBC驱动程序是一种用于Java应用程序与Oracle数据库之间进行通信的重要工具。它提供了一种高效、可靠和安全的方式来执行各种数据库操作,并简化了与Oracle数据库的集成和开发过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值