`
denger
  • 浏览: 359563 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDBC 连接 Oracle 11G 问题小记

阅读更多
因公司运维那边将 Oracle 换成了 11.2 的版本,运行JDBC程序后一直提示异常信息:

ORA-12505, TNS:listener does not currently know of SID given in connect descriptor


dataSource配置如下:
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
        scope="singleton">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@211.***.***.**:1521:dbpri"/>
        <property name="username" value="dyx" />
        <property name="password" value="dyx" />
        <property name="maxActive" value="100" />
        <property name="maxIdle" value="10" />
        <property name="maxWait" value="60000" />
        <property name="validationQuery" value="select 1 from dual" />
    </bean>

以前使用 oracle10 是没有问题的,估计是因为数据库升级问题,于是发现通过使用 SQL Developer 能够正常连接,可以判断出 Oralce Server 端配置应该是不存在问题。莫非是驱动也需要更新?
于是经过在 oralce 官方一阵摸索之后,发现 oracle 专门为11G提供了JDBC的 driver,地址:
http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
于是下载了 ojdbc6.jar, 替换了 classes12.jar 后,仍然不能成功,还是上述错误。又返回到JDBC下载页面,看了一下它的 README 发现里面的里面有一个写法是:
//<host>:<port>/<service_name>

于是我将我的 url 改成:
<property name="url" value="jdbc:oracle:thin:@211.***.***.**:1521/dbpri" />

继续 Run ,发现一切正常,难道之所以要这样写是为了区分 Service name 和 SID?因为我发现通过使用 SQL Developer 连接库时,填写其中的 dbpri 其中就有一个选项,是选择 SID 还是 Service name。
分享到:
评论

相关推荐

    Jdbc连接oracle远程数据库中文乱码解决

    综上所述,解决JDBC连接Oracle远程数据库时的中文乱码问题,需要从多个层面进行检查和配置,包括应用程序的配置文件、JDBC连接参数、数据库服务器设置以及开发环境等。通过细心排查和合理配置,可以有效地避免这类...

    Java JDBC连接Oracle 11g的jar包

    总的来说,Java JDBC连接Oracle 11g主要涉及数据库驱动的引入、连接的建立、SQL语句的执行以及资源的释放。理解这些基本概念和操作,是Java开发者进行数据库编程的基础。在实际项目中,还需要关注性能优化、错误处理...

    jdbc连接oracle11g初次封装.docx

    ### JDBC 连接 Oracle11g 初次封装解析 #### 概述 在软件开发过程中,使用 Java Database Connectivity (JDBC) 来连接数据库是非常常见的做法。JDBC 是 Java 语言中的数据库访问接口,为数据库应用开发人员提供了...

    Java使用Jdbc连接Oracle执行简单查询操作示例

    Java使用Jdbc连接Oracle执行简单查询操作示例 Java使用Jdbc连接Oracle执行简单查询操作,是指使用Java语言通过Jdbc(Java Database Connectivity)连接Oracle数据库并执行简单查询操作的过程。本文将通过实例形式...

    最新Oracle_11g JDBC驱动包

    3. ** Classic JDBC-ODBC桥(Type 2)**:这是早期的解决方案,通过Java层的ODBC桥接器连接到本地的Oracle ODBC驱动,适用于已经存在ODBC数据源的情况。 4. ** JServer JDBC驱动(Type 2)**:这种驱动已经过时,...

    JDBC连接Oracle数据库常见问题及解决方法

    "JDBC连接Oracle数据库常见问题及解决方法" 本文将对 JDBC 连接 Oracle 数据库常见问题进行总结和解决方法的介绍。以下是针对不同问题的解决方案: 1. Jbuilder 正确连接 Oracle 数据库需要注意的几个问题 在使用...

    jdbc连接oracle简单示例

    本示例将详细解释如何在Eclipse集成开发环境中,通过JDBC连接到Oracle数据库。 首先,我们需要了解JDBC的基本概念。JDBC是一个Java API,它提供了一组接口和类,使得Java程序可以与各种数据库进行交互。它允许...

    powerbuilder9 连接 oracle 10g (使用 jdbc 来连接)

    ### PowerBuilder 9 连接 Oracle 10g(使用 JDBC 连接) 在软件开发领域,集成不同的数据库系统是一项常见的需求。PowerBuilder 作为一款强大的应用开发工具,支持多种数据库连接方式,其中包括通过 JDBC(Java ...

    jdbc连接oracle字符集不同出现乱码

    ### JDBC 连接 Oracle 字符集不同导致乱码问题解析及解决方案 #### 问题背景 在使用 JDBC(Java Database Connectivity)连接 Oracle 数据库时,可能会遇到一个常见的问题:从远程 Oracle 数据库获取的数据出现乱码...

    jdbc连接oracle数据库

    同时,ojdbc6还支持Oracle 11g的新特性,如Advanced Queuing和透明应用故障切换。 总结来说,理解如何使用JDBC连接Oracle数据库是Java开发者必备的技能之一。ojdbc5和ojdbc6是这个过程中不可或缺的组件,选择合适的...

    java使用jdbc连接oracle数据库

    `ojdbc6.jar`适用于Java 6及以下版本,并且兼容Oracle 10g、11g和12c数据库。如果你正在使用更高版本的Java或Oracle数据库,可能需要选择更匹配的驱动。 使用`ojdbc6.jar`连接Oracle数据库的步骤如下: 1. **添加...

    通过JDBC连接Oracle数据库的十大技巧

    总之,通过掌握JDBC连接Oracle数据库的技巧,能够极大地提高程序的效率和稳定性。选择合适的驱动程序、关闭自动提交、使用PreparedStatement对象、批量处理、调用存储过程以及优化连接池等策略,都是提高Java应用...

    jdbc连接oracle工具类

    本篇文章将详细讲解如何创建一个JDBC连接Oracle的工具类,以及在实际应用中需要注意的事项。 首先,我们需要了解JDBC的基本概念。JDBC是Java与数据库交互的一组接口和类,它允许Java程序通过SQL语句来操作数据库。...

    Spring boot连接oracle数据库JDBC配置步骤

    Spring Boot 连接 Oracle 数据库 JDBC 配置步骤 在本文中,我们将详细介绍如何使用 Spring Boot 连接 Oracle 数据库,配置 JDBC 驱动程序,并实现数据库的基本操作。 Step 1: 添加依赖项 在 Spring Boot 项目中,...

    oracle11g jdbc驱动

    驱动列表 ojdbc5-11.1.0.6.jar ojdbc5-11.1.0.7.jar ojdbc5-11.2.0.1.jar ojdbc5-11.2.0.2.jar ojdbc5-11.2.0.3.jar ojdbc5-11.2.0.4.jar ojdbc6-11.1.0.6.jar ojdbc6-11.1.0.7.jar ojdbc6-11.2.0.1.jar ...

    JDBC连接Oracle测试

    JDBC连接Oracle测试 package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DB { private static Connection conn; private static ...

    使用JDBC连接Oracle数据库

    ### 使用JDBC连接Oracle数据库 #### 一、简介与背景 Java Database Connectivity (JDBC) 是 Java 开发语言中的一项关键技术,它允许开发者通过标准 API 与多种类型的数据库进行交互。JDBC 提供了一种机制,使 Java...

    oracle11g驱动包

    Oracle 11g驱动包是用于Java应用程序与Oracle数据库之间通信的重要组件,它遵循Java Database Connectivity (JDBC) 标准。在Java编程环境中,如果你需要连接到Oracle 11g数据库,就需要这个驱动包。Oracle 11g JDBC...

    jdbc连接oracle jar包

    在Java环境下连接Oracle数据库,你需要特定的驱动包,即Oracle JDBC驱动,通常这个驱动包含在`ojdbc.jar`文件中。 Oracle JDBC驱动主要有三种类型: 1. **JDBC-ODBC桥接驱动**:它是最早的Oracle JDBC驱动,通过...

    jdbc连接oracle三种方式

    Java JDBC (Java Database Connectivity) 是Java程序连接数据库的标准接口,Oracle数据库作为广泛应用的关系型数据库,提供了多种通过JDBC进行连接的方式。本篇文章将详细介绍通过JDBC Thin Driver连接Oracle的三种...

Global site tag (gtag.js) - Google Analytics