我有一些应用程序通过SpringJDBC和普通JDBC连接到Oracle数据库。
JDBC URL模式是 -
jdbc:oracle:thin:@hostname:portNumber/schemaName
我们正在尝试创建一个可与应用程序相关的TNS条目。例如,如果存在应用程序StockTrade,则架构名称将为DBStockTrade。
但是,开发人员仍然需要知道用于构造JDBC URL的主机名和端口号,并且只要模式名称发生更改,就需要进行二进制更改。
有没有办法避免使用主机名和端口号,只需使用模式名称连接数据库?我们的想法是使用某种只包含模式名称的属性文件,并删除其他细节。
答案 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
我们可以连接到数据库