java连接oracle数据库使用SERVICE NAME、SID以及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 支持 支持
原文地址:https://www.cnblogs.com/tiandi/p/8443483.html