无论如何使用jdbc驱动程序从java连接oracle而不指定任何类似下面的端口?
JDBC:预言:瘦:@host:端口:SID
管理员希望在tnsnames中使用someadrees@business.com,其中包含主机,端口和sid。
他们不希望将端口号作为参数传递给api。
我从shell脚本调用api并传递主机,端口和sid。
答案 0 :(得分:3)
是的,你可以,语法只是jdbc:oracle:thin@<tnsnames.ora entry>
。
您必须确保tnsnames.ora
文件位于TNS_ADMIN目录中。您可以通过设置oracle.net.tns_admin
系统属性来执行此操作:
java -Doracle.net.tns_admin=<location to tnsnames.ora>
或以编程方式,通过:
System.setProperty("oracle.net.tns_admin", "<location to tnsnames.ora>");
如果您不想设置任何其他环境变量,驱动程序将自动查看下一个$ORACLE_HOME/network/admin
。因此,如果您已设置$ORACLE_HOME
,则可以将tnsnames.ora
文件放在其中,而无需设置$TNS_ADMIN
。
有关详细信息,请参阅TNSNames Alias Syntax in the Oracle JDBC Developer's Guide。