从java连接到oracle而不是在jdbc中使用thin

时间:2018-04-11 18:06:57

标签: java oracle

无论如何使用jdbc驱动程序从java连接oracle而不指定任何类似下面的端口?

JDBC:预言:瘦:@host:端口:SID

管理员希望在tnsnames中使用someadrees@business.com,其中包含主机,端口和sid。

他们不希望将端口号作为参数传递给api。

我从shell脚本调用api并传递主机,端口和sid。

1 个答案:

答案 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