JDBC连接数据库使用SERVICE NAME、SID以及TNSName不同写法

本周使用jdbc连接客户的oracle时总提示超时。
一直使用SID来连接数据库的。尝试换成Service Name后连接成功。

Java JDBC Thin Driver 连接 Oracle有三种方法。

格式一: 使用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

猜你喜欢

转载自jackaney.iteye.com/blog/2305889