应用环境 :
应用服务器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或相关加载路径下优先去加载驱动包,问题解决。
相关推荐
4. **配置数据源**:在企业级应用中,通常会通过数据源(DataSource)来管理数据库连接,这可以提高性能和资源管理。例如,在Java EE环境中,可以使用JNDI查找来获取预配置的数据源。 5. **Oracle 12c特性**: - *...
Kettle链接Oracle数据库比较坑,为试了很多驱动都不能正常驱动,一会报没有发现驱动,一会报字符集问题,我找我们公司大佬要了一个驱动,直接可以驱动起来,特此分享! 备注:解压jdbc压缩文件,将里面所有的jar...
Oracle 12C驱动包是Java应用程序连接Oracle 12C数据库的重要组件,主要用于实现Java Database Connectivity (JDBC)。JDBC是Java编程语言中用于规范客户端程序如何访问数据库的标准接口,而ojdbc驱动则是Oracle公司...
oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。
- **Oracle Instant Client**:用于连接到Oracle数据库的轻量级客户端,包括ODBC、OCI和JDBC驱动程序。 - **.NET Framework**:对于Windows环境,安装Oracle数据库可能需要.NET Framework支持某些客户端工具或服务...
- **格式要求**:在Java应用程序中使用JDBC连接Oracle数据库时,正确的URL格式对于避免ORA-01017等错误至关重要。 - 正确的URL格式: ```plaintext jdbc:oracle:thin:@localhost:1521/YXSYSPDB ``` - 注意事项...
使用Instant Client,开发者可以管理数据库连接池,优化资源使用,提高应用程序性能。 8. **系统需求**: 在安装和使用Oracle Instant Client前,需要确保操作系统兼容性、足够的磁盘空间以及符合要求的硬件配置...
3. **Oracle Instant Client 12.1**: 这个版本对应Oracle Database 12c Release 1,这是Oracle首次采用多版本并存架构(Multitenant Architecture),引入了Container Database (CDB) 和 Pluggable Database (PDB) ...
综上所述,"instantclient_12_2"是Oracle数据库用户和开发者的一个重要工具,它提供了高效、便捷的数据库连接方式,同时支持Oracle Database 12c的诸多新特性,对于日常开发、测试和维护工作具有显著的帮助。