在没有 jdbc 连接字符串的情况下访问 Sonar 服务器及其数据库

Posted

技术标签:

【中文标题】在没有 jdbc 连接字符串的情况下访问 Sonar 服务器及其数据库【英文标题】:Access Sonar server and its db without jdbc connection string 【发布时间】:2017-08-29 14:48:18 【问题描述】:

我们有集中式 SonarQube 系统。我们正在从作为我们构建机器的不同服务器执行 Sonar runner。我们正在使用一个插件来扫描我们的源代码。它使用 ant build.xml 从运行器执行扫描。我知道我们可以使用 jdbc 字符串和凭据来访问数据库。根据我们的组织政策,我们不应直接访问 Sonar 数据库。声纳管理员通知只需要声纳主机,它会在没有 jdbc 的情况下访问声纳数据库。但是当我运行脚本时,默认情况下它会转到本地 h2 数据库。 SonarQube 版本 4.5.7。此外,我们暂时无法升级声纳,因为它与其他项目有依赖关系。是否有任何解决方法可以在没有 jdbc 配置的情况下访问 Sonar db?

sonar:sonar] 06:21:56.012 INFO - 安装插件 [声纳:声纳] 06:21:56.083 信息 - 安装 JDBC 驱动程序 [sonar:sonar] 06:21:56.115 INFO - 为 jdbc:h2:tcp://localhost:9092/sonar 创建 JDBC 数据源

【问题讨论】:

【参考方案1】:

在 4.5.7 中,您唯一的选择是为分析提供完整的数据库凭据。

最好的办法是解决“我们无法升级”背后的原因,然后进行升级。到 5.2,分析不再与数据库对话。当前版本是 6.3,当前 LTS 是 5.6.6 - 到那时您只需要身份验证令牌和实例 URL。

【讨论】:

感谢您提供详细信息。数据库连接字符串及其凭据已经存在于 Sonar 服务器中(在 sonar.properties 中)。我们是否也应该在 ant 构建文件中提及它们(sonar.jdbc.url、用户名和密码)?我们正在从另一台服务器运行 ant+Sonar runner。它不在托管 Sonar 的同一台服务器上。

以上是关于在没有 jdbc 连接字符串的情况下访问 Sonar 服务器及其数据库的主要内容,如果未能解决你的问题,请参考以下文章

测试JDBC数据库

java程序访问数据库,dbcp连接池,hibernate连接总是报池连接用光了/JDBC连接没有报错

java连接mysql怎么在没有数据库的情况下创建一个

使用 JDBC 和 persistence.xml

在没有 Impala JDBC 驱动程序的情况下从 R 连接到 Impala

Android中的JDBC连接