找不到适合数据库类型的 JDBC 驱动程序:当 jar 文件存在时,PostgreSQL 与 Teamcity

Posted

技术标签:

【中文标题】找不到适合数据库类型的 JDBC 驱动程序:当 jar 文件存在时,PostgreSQL 与 Teamcity【英文标题】:No suitable JDBC driver found for database type: PostgreSQL with Teamcity when jar file is there 【发布时间】:2018-11-24 20:13:58 【问题描述】:

我一直在尝试在 Docker 中设置 TeamCity 实例,当我尝试从内部数据库迁移时 - 我已成功删除 - TeamCity 找不到 PostgreSQL 的 JDBC 驱动程序,错误为:No suitable JDBC driver found for database type: PostgreSQL。 Docker 容器将TEAMCITY_DATA_PATH 设置为/data/teamcity_server/datadir,并且

$TEAMCITY_DATA_PATH/lib/ 包含以下内容:

/data/teamcity_server/datadir/lib/
└── jdbc
    └── postgresql-42.2.5.jar

一切按照mother-os的文件映射到容器的文件。

database.properties 文件以备不时之需:

connectionUrl=jdbc\:postgresql\://mydbserver.com\:5432

【问题讨论】:

【参考方案1】:

我知道这是一个老问题,但仍未得到解答。我在试图找到完全相同的问题的解决方案时遇到了它,所以让我为遇到这个问题的任何人留下一个解决方案。

问题的根源在于不正确的connectionUrl,根据 TeamCity 文档,它应该在末尾包含数据库名称,例如:

connectionUrl=jdbc:postgresql://mydbserver.com:5432/teamcitydb

这里的错误“有点”误导。不是缺少jar,而是连接配置。

【讨论】:

以上是关于找不到适合数据库类型的 JDBC 驱动程序:当 jar 文件存在时,PostgreSQL 与 Teamcity的主要内容,如果未能解决你的问题,请参考以下文章

Openshift - 找不到适合 jdbc:mysql 的驱动程序

如何修复:“找不到适合 jdbc:mysql://localhost/dbname 的驱动程序”

如何修复:“找不到适合 jdbc:mysql://localhost/dbname 的驱动程序”错误

找不到适合'jdbc:mysql:// localhost:3306 / mysql的驱动程序[重复]

如何修复:找不到适合 jdbc:sqlserver 的驱动程序 [重复]

使用 DataSource (Java Eclipse) 时“找不到适合 jdbc 的驱动程序”