应用环境 :
应用服务器linux,中间件:tomcat 6,jdk版本:1.6.0_43,jdbc驱动:ojdbc6,数据库oracle12c pdb。
问题描述:
环境搭建完成之后, 连接使用的连接串格式为:jdbc:oracle:thin:@127.0.0.1:1521/pdborcl
在应用连接数据库的时候一直报错:
java.sql.SQLException: Io 异常: Invalid connection string format, a valid format is: "host:port:sid" 。
解决过程:
1、首先在应用当中做了很多的尝试,无法得到解决,网上查询资料,说是低版本的ojdbc驱动就会出现这样的问题,但是使用的驱动是没有问题的,版本都是匹配的。
2、之后改变连接串格式为:jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.9.20.41)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MANAGER))),但是这种方式还是报错了,查询资料之后需要在oracle的安装目录的/NETWORK/ADMIN/sqlnet.ora中添加版本支持的参数,添加完成参数之后本地连接本地库成功。但是服务器是oracle一体机,做了集群,只能操作数据库,不能访问系统,无法做这样的尝试,并且跟oracle一体机的管理人员沟通表示,我们的连接串(jdbc:oracle:thin:@127.0.0.1:1521/pdborcl)是没有问题的,而且必须是这样,所以还是得解决在原先连接串下的问题。
3、本机使用java-jdbc的小例子,用ojdbc6驱动连接数据库没有任何问题,可以查出数据,那么驱动包是没有问题的。
4、后来请教部门技术专家分析认为是jar包加载的问题,按照工程启动时jar包的加载顺序:jdk-tomcat-project,提供的解决办法,将ojdbc6在jdk相关jar包目录、tomcat 相关jar包目录中都拷贝了ojdbc6驱动,启动正常,问题解决。
5、之后我试了一下,只有将ojdbc6包拷贝到jdk的jre的lib(jdk1.6.0_43\jre\lib)下才好用,但是在jdk中未发现其他类似jdbc包的痕迹,暂不清楚是那个文件引起的这个错误。
解决方法:
将ojdbc6包copy到jdk1.6.0_43\jre\lib或相关加载路径下优先去加载驱动包,问题解决。
相关推荐
《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle...
4. **配置数据源**:在企业级应用中,通常会通过数据源(DataSource)来管理数据库连接,这可以提高性能和资源管理。例如,在Java EE环境中,可以使用JNDI查找来获取预配置的数据源。 5. **Oracle 12c特性**: - *...
Oracle12C JDBC驱动是连接Java应用程序与Oracle数据库12c Release 2 (12.2.0.1) 的关键组件。JDBC(Java Database Connectivity)是Java平台中的一个标准API,它允许Java程序通过Java语言来访问和操作数据库。在...
Kettle链接Oracle数据库比较坑,为试了很多驱动都不能正常驱动,一会报没有发现驱动,一会报字符集问题,我找我们公司大佬要了一个驱动,直接可以驱动起来,特此分享! 备注:解压jdbc压缩文件,将里面所有的jar...
标题中的“Navicat 连接数据库Oracle 12c OCR.dll连接资源包”指的是使用Navicat这款数据库管理工具连接Oracle 12c数据库时,可能会遇到的问题以及解决这个问题所需的资源。Navicat是一款流行的数据库管理和开发工具...
3. **连接字符串**:配置正确的数据库连接字符串,包括服务器地址、端口号、数据库服务名等,例如`jdbc:oracle:thin:@hostname:port/service_name`。 4. **权限和认证**:在建立数据库连接时提供有效的用户名和密码...
《Oracle 12c数据库基础教程》教学课件—02安装和卸载Oracle 12c数据库.pdf《Oracle 12c数据库基础教程》教学课件—02安装和卸载Oracle 12c数据库.pdf《Oracle 12c数据库基础教程》教学课件—02安装和卸载Oracle 12c...
3. **编写Java代码**:使用JDBC API编写代码来建立数据库连接。以下是一个基本示例: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ...
ojdbc7.jar 是针对 Oracle 12c 数据库的 JDBC 驱动版本7,它支持 JDBC 4.1 规范,提供了许多增强功能和性能优化。以下是一些关于使用 ojdbc7.jar 连接 Oracle 12c 数据库的知识点: 1. **JDBC 驱动类型**:ojdbc7....
对于 Oracle 10g 和 11g 版本,通常可以直接使用 Oracle Native (JDBC) 连接方式进行数据库连接。然而,随着 Oracle 12c 的发布及其对安全性和性能的改进,原有的连接方式可能不再适用或遇到兼容性问题。在这种情况...
- **建立数据库连接**:通过`java.sql.DriverManager.getConnection()`方法创建到Oracle数据库的连接。 - **执行SQL语句**:使用`java.sql.Statement`或`java.sql.PreparedStatement`对象执行查询和更新。 - **处理...
总之,连接PLSQL Developer 12.0.7到Oracle 12c数据库涉及到配置首选项、设置数据库连接信息、安装并配置Oracle Instant Client以及正确配置TNSNAMES.ORA文件。这些步骤确保了开发者能够在本地环境中高效地与远程...
Kettle9 jdbc连接Oracle12c驱动,网上找了好多都不能用最后整合了datagrip里的jdbc 最终版本,亲测可用。 解压jdbc压缩文件,将里面所有的jar文件拷贝到Kettle目录的lib目录,重启Kettle即可
Oracle 12c数据库体系结构图文详解手册是 Oracle 12c数据库管理系统的核心组件之一,该手册详细介绍了 Oracle 12c数据库的体系结构、实例、数据库、内存结构、后台进程、控制文件、重做日志文件、数据文件等概念。...
通过JDBC,开发者可以编写与数据库无关的代码,因为JDBC提供了统一的API来执行SQL语句、管理数据库连接和处理结果集。 Oracle JDBC驱动分为多个版本,如ojdbc14、ojdbc6、ojdbc7等,每个版本对应不同的Java和Oracle...
Oracle 12c可能需要特定版本的JDBC驱动(也称为ojdbc.jar),以便Kettle能够正确地连接和操作这个数据库。这通常涉及到以下步骤: 1. **下载JDBC驱动**:首先,你需要从Oracle官方网站下载适用于Oracle 12c的JDBC...
### Oracle 12C数据库连接到PDB及添加scott普通用户详解 #### 一、Oracle 12C与PDB简介 Oracle Database 12c引入了一个重要的新特性——可插拔数据库(Pluggable Database,简称PDB),这是一种全新的数据库容器化...
Oracle 12C驱动包是Java应用程序连接Oracle 12C数据库的重要组件,主要用于实现Java Database Connectivity (JDBC)。JDBC是Java编程语言中用于规范客户端程序如何访问数据库的标准接口,而ojdbc驱动则是Oracle公司...
Oracle 12c 数据库基础教程 - 安装和卸载 Oracle 12c 数据库 本资源摘要信息是关于 Oracle 12c 数据库基础教程的安装和卸载教程,旨在帮助读者了解 Oracle 12c 数据库的安装要求、安装过程、环境变量设置、常用 ...
在Kettle的Job或者Transformation中,你可以通过“Database Connection”步骤配置数据库连接,包括数据库URL、用户名、密码以及JDBC驱动的位置。 为了确保Kettle能够正确运行,你需要在你的系统上安装Oracle的JDBC...