【问题标题】:Using environment variable in JDBC URL (HSQLDB)在 JDBC URL (HSQLDB) 中使用环境变量
【发布时间】:2019-03-05 07:55:50
【问题描述】:

我正在尝试将 Netbeans 的 iReport 插件与我的 HSQLDB 数据库连接起来,这样我就可以根据它的数据构建我的报告。我的 JavaFX 应用程序是基于 Spring-Boot 的,并且非常愉快地使用以下连接字符串:

jdbc:hsqldb:db/TFH

我使用环境变量设置为我的工作目录的路径,例如 Spring application.properties 文件,如下所示:

@PropertySource("file:${TFH_HOME}/config.properties")

我的问题是 iReport 不能使用相同的连接字符串,因为它实际上是在 Netbeans 安装目录中查找 db 文件夹。我的想法是将环境变量直接放在 JDBC 连接字符串中,但我似乎无法使其正常工作。我四处寻找正确的语法,但似乎没有任何效果。我试过这个:

jdbc:hsqldb:${TFH_HOME}/db/TFH

这使得 iReport 在这个不存在的文件夹中搜索数据库文件:

C:\Program Files\NetBeans 8.2\${TFH_HOME}\db\

如何使 JDBC URL 包含环境变量并使其在相对路径中搜索 DB?

谢谢!

【问题讨论】:

  • 这取决于您检索 JDBC url 的方式或位置。 @PropertySource 中的插值是 Spring 特有的功能。您需要提供更多背景信息。
  • 就像我说的,我正在尝试使 iReport 中的 URL 指向正确的路径。默认情况下,它在 Netbeans 的安装目录中查找,这是 Netbeans 类路径,但我需要它来查看我的项目目录,因此尝试将我已经用于类似目的的环境变量插入 JDBC URL。
  • 仅供参考,我刚刚尝试使用完整路径,它可以工作。我只需要知道如何在其中放置一个环境变量(其中包含路径)。
  • 如何您目前正在获取该 URL。我重复我之前的评论:@PropertySource 中的插值是 Spring 特有的功能。所以如果你只是构造一个普通的字符串,它是行不通的。
  • 抱歉,我不确定我是否理解您的问题。我自己将 URL 输入到 Netbeans 中的 iReport 插件中,以便构建报告。它与应用程序使用的数据库相同,我稍后将以编程方式提供数据源,但现在 iReport 需要自己的数据源来构建报告。

标签: jdbc netbeans environment-variables hsqldb ireport


【解决方案1】:

HSLQDB 支持在此上下文中为 Java 定义的变量。因此,如果您将 TFH_HOME 定义为 Java 命令的一部分,它将在处理 JDBC URL 时被拾取。

【讨论】:

    猜你喜欢
    • 2011-03-02
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 2023-01-22
    • 1970-01-01
    • 2020-03-02
    • 2021-03-04
    相关资源
    最近更新 更多