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

  • Post author:
  • Post category:其他


本周使用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



版权声明:本文为raymondual原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。