当Oracle DB SID和ServiceName不同时JDBC的连接方式
解释这个问题前我们先说下jdbc url的两种写法(简单写法和完整写法)
jdbc:oracle:thin:@<mc-name>:<port-no>:<service_name> jdbc:oracle:thin:@(description=(address=(host=<mc-name>)(protocol=tcp)(port=<port-no>))(connect_data=(sid=<sid>))) jdbc:oracle:thin:@(description=(address=(host=<mc-name>)(protocol=tcp)(port=<port-no>))(connect_data=(service_name=<service_name>)))
再回到我们的问题,当sid和service name不同时,如果我们用简单写法,就需要知道service name(产看的方法通过lsnrctl status)。一般servie name会带有机器名如:orcl.pc.test.com
如果我们不想通过service name来连接,就需要完整写法指明sid。