【问题标题】:HikariCP Postgresql Driver Claims to not accept JDBC URLHikariCP Postgresql 驱动程序声称不接受 JDBC URL
【发布时间】:2016-04-16 22:29:27
【问题描述】:

我已将我的应用程序推送到 cloudfoundry。但是,每次我连接到我的 postgresql/elephant sql 时,我都会收到此错误

 Driver org.postgresql.Driver claims to not accept JDBC URL jdbc:postgres://cwkqmdql:SsVqwdLxQObgaJAYu68O-8gTY1VmS9LX@pellefant.db.elephantsql.com:5432/cwkqmdql/

我有什么遗漏的吗?

【问题讨论】:

  • 网址确实无效。如果cwkqmdql:SsVqwdLxQObgaJAYu68O-8gTY1VmS9LX 部分应该是用户名和密码,那么您不能这样指定它。请参阅手册以获取正确的 URL:jdbc.postgresql.org/documentation/94/connect.html
  • @a_horse_with_no_name 我尝试将 spring.datasource.url 更改为此 jdbc:postgres://pellefant-01.db.elephantsql.com:5432/cwkqmdql 并且同样的错误仍然存​​在

标签: java postgresql jdbc cloud-foundry hikaricp


【解决方案1】:

该 URL 存在一些问题,最新的 PSQL 驱动程序可能会抱怨。

  1. jdbc:postgres: 应替换为 jdbc:postgresql:
  2. 不要使用jdbc:postgresql://<username>:<passwor>...,而是使用用户参数:jdbc:postgresql://<host>:<port>/<dbname>?user=<username>&password=<password>
  3. 在某些情况下,您必须通过添加 sslmode=require 参数来强制 SSL 连接

所以你的网址应该是:

jdbc:postgresql://@pellefant.db.elephantsql.com:5432/cwkqmdql?user=cwkqmdql&password=SsVqwdLxQObgaJAYu68O-8gTY1VmS9LX

jdbc:postgresql://@pellefant.db.elephantsql.com:5432/cwkqmdql?user=cwkqmdql&password=SsVqwdLxQObgaJAYu68O-8gTY1VmS9LX&sslmode=require

我希望这会有所帮助。

【讨论】:

  • 就我而言,我需要一个尾部正斜杠。喜欢jdbc:postgresql://db:5432/
  • 在 Heroku Postgres 上使用 Spring Boot 2 对我不起作用。
  • 谢谢,是jdbc:postgre:/引起的,我换成jdbc:postgresql:/就好了
  • 为什么@与主机名一起添加?就我而言,当我从主机名中删除“@”时它起作用了。
  • 这个答案帮助我从本地机器连接到 Heroku Postgres
【解决方案2】:

在我的例子中,它是在 java.properties 文件中用双引号定义属性

通过改变

jdbcUrl="url"

jdbcUrl=url

它再次起作用

【讨论】:

  • 哎呀,这也是我的问题。谢谢
  • 这也是问题所在。就我而言,混淆来自不同配置文件的不同语法(application.properties vs application.yml)
  • 如果我使用 helm chart 创建秘密,并且在创建秘密时我们需要用引号将每个值括起来。然后在 applications.properties 中,我们注入 env var。
【解决方案3】:

我遇到的问题是我在属性文件中为数据源 url 提供了双引号。

我所给予的

spring.datasource.url="jdbc:postgresql://localhost:5432/postgres"

给出url的正确方式是

spring.datasource.url=jdbc:postgresql://localhost:5432/postgres

【讨论】:

    【解决方案4】:

    也有这个错误,但意识到这是因为我输入了 postgressql 代替 postgresql 在我的网址中

    【讨论】:

      【解决方案5】:

      就我而言,两个配置文件的格式不同:

      1. application.propertiessrc/main/resources
      2. application.ymlsrc/test/resources

      src/test/resources中的application.yml更改为application.properties后,问题已修复。

      【讨论】:

        猜你喜欢
        • 2019-03-25
        • 2015-11-07
        • 2021-10-19
        • 2020-10-29
        • 1970-01-01
        • 2019-09-26
        • 2013-10-25
        • 2019-08-17
        • 2021-11-04
        相关资源
        最近更新 更多