因公司运维那边将 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连接参数、数据库服务器设置以及开发环境等。通过细心排查和合理配置,可以有效地避免这类...
总的来说,Java JDBC连接Oracle 11g主要涉及数据库驱动的引入、连接的建立、SQL语句的执行以及资源的释放。理解这些基本概念和操作,是Java开发者进行数据库编程的基础。在实际项目中,还需要关注性能优化、错误处理...
### JDBC 连接 Oracle11g 初次封装解析 #### 概述 在软件开发过程中,使用 Java Database Connectivity (JDBC) 来连接数据库是非常常见的做法。JDBC 是 Java 语言中的数据库访问接口,为数据库应用开发人员提供了...
Java使用Jdbc连接Oracle执行简单查询操作示例 Java使用Jdbc连接Oracle执行简单查询操作,是指使用Java语言通过Jdbc(Java Database Connectivity)连接Oracle数据库并执行简单查询操作的过程。本文将通过实例形式...
3. ** Classic JDBC-ODBC桥(Type 2)**:这是早期的解决方案,通过Java层的ODBC桥接器连接到本地的Oracle ODBC驱动,适用于已经存在ODBC数据源的情况。 4. ** JServer JDBC驱动(Type 2)**:这种驱动已经过时,...
"JDBC连接Oracle数据库常见问题及解决方法" 本文将对 JDBC 连接 Oracle 数据库常见问题进行总结和解决方法的介绍。以下是针对不同问题的解决方案: 1. Jbuilder 正确连接 Oracle 数据库需要注意的几个问题 在使用...
本示例将详细解释如何在Eclipse集成开发环境中,通过JDBC连接到Oracle数据库。 首先,我们需要了解JDBC的基本概念。JDBC是一个Java API,它提供了一组接口和类,使得Java程序可以与各种数据库进行交互。它允许...
### JDBC 连接 Oracle 字符集不同导致乱码问题解析及解决方案 #### 问题背景 在使用 JDBC(Java Database Connectivity)连接 Oracle 数据库时,可能会遇到一个常见的问题:从远程 Oracle 数据库获取的数据出现乱码...
### PowerBuilder 9 连接 Oracle 10g(使用 JDBC 连接) 在软件开发领域,集成不同的数据库系统是一项常见的需求。PowerBuilder 作为一款强大的应用开发工具,支持多种数据库连接方式,其中包括通过 JDBC(Java ...
同时,ojdbc6还支持Oracle 11g的新特性,如Advanced Queuing和透明应用故障切换。 总结来说,理解如何使用JDBC连接Oracle数据库是Java开发者必备的技能之一。ojdbc5和ojdbc6是这个过程中不可或缺的组件,选择合适的...
`ojdbc6.jar`适用于Java 6及以下版本,并且兼容Oracle 10g、11g和12c数据库。如果你正在使用更高版本的Java或Oracle数据库,可能需要选择更匹配的驱动。 使用`ojdbc6.jar`连接Oracle数据库的步骤如下: 1. **添加...
总之,通过掌握JDBC连接Oracle数据库的技巧,能够极大地提高程序的效率和稳定性。选择合适的驱动程序、关闭自动提交、使用PreparedStatement对象、批量处理、调用存储过程以及优化连接池等策略,都是提高Java应用...
本篇文章将详细讲解如何创建一个JDBC连接Oracle的工具类,以及在实际应用中需要注意的事项。 首先,我们需要了解JDBC的基本概念。JDBC是Java与数据库交互的一组接口和类,它允许Java程序通过SQL语句来操作数据库。...
Spring Boot 连接 Oracle 数据库 JDBC 配置步骤 在本文中,我们将详细介绍如何使用 Spring Boot 连接 Oracle 数据库,配置 JDBC 驱动程序,并实现数据库的基本操作。 Step 1: 添加依赖项 在 Spring Boot 项目中,...
驱动列表 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测试 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数据库 #### 一、简介与背景 Java Database Connectivity (JDBC) 是 Java 开发语言中的一项关键技术,它允许开发者通过标准 API 与多种类型的数据库进行交互。JDBC 提供了一种机制,使 Java...
在Java环境下连接Oracle数据库,你需要特定的驱动包,即Oracle JDBC驱动,通常这个驱动包含在`ojdbc.jar`文件中。 Oracle JDBC驱动主要有三种类型: 1. **JDBC-ODBC桥接驱动**:它是最早的Oracle JDBC驱动,通过...
Java JDBC (Java Database Connectivity) 是Java程序连接数据库的标准接口,Oracle数据库作为广泛应用的关系型数据库,提供了多种通过JDBC进行连接的方式。本篇文章将详细介绍通过JDBC Thin Driver连接Oracle的三种...
本篇将详细介绍如何使用JDBC连接Oracle数据库并执行存储过程。 首先,我们需要理解JDBC的基本概念。JDBC是Java平台的标准API,它允许Java程序与各种数据库进行通信。通过JDBC,我们可以创建数据库连接、发送SQL语句...