不使用jdbc url中的主机名和端口

时间:2015-06-03 20:47:40

标签: java oracle jdbc

我有一些应用程序通过SpringJDBC和普通JDBC连接到Oracle数据库。

JDBC URL模式是 -

jdbc:oracle:thin:@hostname:portNumber/schemaName

我们正在尝试创建一个可与应用程序相关的TNS条目。例如,如果存在应用程序StockTrade,则架构名称将为DBStockTrade。

但是,开发人员仍然需要知道用于构造JDBC URL的主机名和端口号,并且只要模式名称发生更改,就需要进行二进制更改。

有没有办法避免使用主机名和端口号,只需使用模式名称连接数据库?我们的想法是使用某种只包含模式名称的属性文件,并删除其他细节。

1 个答案:

答案 0 :(得分:1)

对于这个问题:

  每当架构名称发生变化时,

需要进行二进制更改

我们可以简单地将JDBC URL放入配置文件

然后,只要模式名称发生更改,我们只需要编辑配置文件,不需要进行二进制更改。

例如,将JDBC URL保存到 .properties 文件

# config.properties

jdbc_url=jdbc:oracle:thin:@hostname:portNumber/schemaName

在Java代码中:

String currentPath = this.getClass().getProtectionDomain().getCodeSource()
    .getLocation().toURI().getPath();
String configFile = currentPath + File.separator + "config.properties";
Properties prop = new Properties();
prop.load(new FileInputStream(configFile));
String jdbcUrl = prop.getProperty("jdbc_url")

所以使用jdbcUrl我们可以连接到数据库