如何指定 quarkus 数据源上的当前架构?

问题描述 投票:0回答:3

您好,我正在尝试配置 quarkus 以连接到 Oracle 数据库。使用当前配置,我可以连接到数据库,但无法指定当前架构。

我按照文档并尝试使用 new-connection-sql 来设置当前架构。但好像没效果。

quarkus.datasource.mydatasource.new-connection-sql=ALTER SESSION SET CURRENT_SCHEMA=SCHEMA_NAME

这是我的 application.properties 文件

quarkus.datasource.mydatasource.db-kind=oracle
quarkus.datasource.mydatasource.jdbc.driver=oracle.jdbc.driver.OracleDriver
quarkus.datasource.mydatasource.jdbc.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.15.73.140)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=SN)))
quarkus.datasource.mydatasource.jdbc.min-size=3
quarkus.datasource.mydatasource.jdbc.max-size=20
quarkus.datasource.mydatasource.username=username
quarkus.datasource.mydatasource.password=password
quarkus.datasource.mydatasource.new-connection-sql=ALTER SESSION SET CURRENT_SCHEMA=SCHEMA_NAME

这里可能出现什么问题?

谢谢你。

oracle jdbc quarkus connection-pool
3个回答
2
投票

如果将 jdbc 子路径名添加到属性中,则效果很好

quarkus.datasource.mydatasource.jdbc.new-connection-sql=ALTER SESSION SET CURRENT_SCHEMA=SCHEMA_NAME

您可以参考这些 Quarkus 配置参考:


0
投票

您可以尝试在连接 URL 中设置架构。但是您想要归档的内容,基本上将每个用户请求路由到特定模式,您应该检查hibernate多租户支持,通过这种方式,您可以将每个请求路由到您想要的数据库,但要注意参数的限制您可以与我们合作,了解将您的请求发送到哪里。

另请检查 hibernate 目录和架构配置参数


0
投票

对于 Quarkus 3.3 版本,您可以通过 JDBC URL 指定模式名称

quarkus.datasource.jdbc.url=jdbc:postgresql://<server>:<port>/<DB_name>?currentSchema=<schema_name>
© www.soinside.com 2019 - 2024. All rights reserved.