java连接oracle数据库使用SERVICE NAMESID以及TNSName不同写法

Posted JackGIS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java连接oracle数据库使用SERVICE NAMESID以及TNSName不同写法相关的知识,希望对你有一定的参考价值。

格式一: 使用ServiceName方式: 
jdbc:oracle:thin:@//<host>:<port>/<service_name> 
例 jdbc:oracle:thin:@//xxx.xxx.xxx.xxx:1526/CDEV 
@后面有//, 这是与使用SID的主要区别。(11g在@后不加//也OK)
这种格式是Oracle 推荐的格式.
因为对于集群来说,每个节点的SID是不一样的,而SERVICE NAME可以包含所有节点。 

格式二: 使用SID方式: 
jdbc:oracle:thin:@<host>:<port>:<SID> 
例 jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1526:CDEV2

格式三:使用TNSName方式: 
jdbc:oracle:thin:@<TNSName> 
例 jdbc:oracle:thin:@CDEV 
注意,ORACLE从10.2.0.1后支持TNSNames

 

数据库版本 JDBC 支持JDK service_name SID
8i classes111.jar 1.5或1.6 不支持 支持
9i classes12.jar 1.5或1.6 不支持 支持
10g ojdbc14.jar 1.5或1.6 支持 支持
11g ojdbc5.jar 1.5 支持 支持
ojdbc6.jar 1.6 支持 支持

以上是关于java连接oracle数据库使用SERVICE NAMESID以及TNSName不同写法的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE中SID和SERVICE_NAME的区别

jdbc连接数据库使用sid和service_name的区别

jdbc连接数据库使用sid和service_name的区别(转)

我用vs2005连接oracle数据库,提示我说ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME

oracle 12c连接pdb

您好,您提问过的问题:plsql能远程连上oracle数据库,java程序连不上,是怎么解决的?