當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。