测试容器甲骨文

Posted

技术标签:

【中文标题】测试容器甲骨文【英文标题】:TestContainer Oracle 【发布时间】:2021-02-23 12:13:42 【问题描述】:

根据https://www.testcontainers.org/modules/databases/jdbc/#database-containers-launched-via-jdbc-url-scheme,我正在尝试使用 jdbc url 方案使用 Quarkus 创建一个 Oracle 容器。 提供一个有效的 docker 镜像(“store/oracle/database-instantclient:12.2.0.1”)并设置此属性后:

"%test":
  quarkus:
    datasource:
      jdbc:
        driver: org.testcontainers.jdbc.ContainerDatabaseDriver
        url: jdbc:tc:oracle:///databasename
      db-kind: other

我得到这个错误:

Container is started (JDBC URL: jdbc:oracle:thin:system/oracle@localhost:32827:xe)
2020-11-09 17:33:06,719 INFO  [???? .2.0.1]] (Agroal_13889837441) Container store/oracle/database-instantclient:12.2.0.1 started in PT4M7.8483772S
2020-11-09 17:33:06,738 WARN  [io.agr.pool] (Agroal_13889837441) Datasource '<default>': Could not create new connection
2020-11-09 17:33:06,805 ERROR [io.qua.application] (main) Failed to start application (with profile test): org.flywaydb.core.internal.exception.FlywaySqlException: 
Unable to obtain connection from database: Could not create new connection
--------------------------------------------------------------------------
SQL State  : null
Error Code : 0
Message    : Could not create new connection
    at org.flywaydb.core.internal.jdbc.JdbcUtils.openConnection(JdbcUtils.java:65)
    at org.flywaydb.core.internal.jdbc.JdbcConnectionFactory.<init>(JdbcConnectionFactory.java:80)
    at org.flywaydb.core.Flyway.execute(Flyway.java:453)
    at org.flywaydb.core.Flyway.migrate(Flyway.java:158)

有人可以帮我吗?

【问题讨论】:

【参考方案1】:

如果我没记错的话,Flyway 社区版(Quarkus 附带)不支持 Oracle。您需要使用企业版。

您需要替换 Quarkus Flyway 依赖项。只需排除包含的一项并添加企业一项(在 Maven 或 Gradle 中)。

【讨论】:

我看到我没有发布完整的错误:在错误中它还说:SQL State : 66000 Error Code : 12505 Message : Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 这似乎是连接数据库的问题。您可以通过任何其他方式连接到数据库吗?以 SQL 客户端为例?

以上是关于测试容器甲骨文的主要内容,如果未能解决你的问题,请参考以下文章

甲骨文白桃花心木P6 EPPM 8.2项目点提供样本

Java 2018 关键字:Eclipse,容器和无服务器

甲骨文(Oracle)面试题目

甲骨文 maf 和甲骨文 af

协会 || 协会ORACLE数据库优化和容器技术系列培训成功举办

甲骨文扩展客户云产品组合 覆盖PaaSSaaS和大数据