gpt4 book ai didi

database - 使用数据库服务名称使用 keycloak 配置数据库

转载 作者:行者123 更新时间:2023-12-02 19:51:42 37 4
gpt4 key购买 nike

我已经用 keycloak 成功配置了一个数据库使用数据库 SID和以下配置。但是,我必须配置另一个没有 SID 的数据库。但有一个 service namedocker-compose文件。我找不到将数据库配置为 keycloak 的方法使用它的 service name .

在 docker-compose 文件中使用 SID 进行配置

         - name: DB_VENDOR
value: ORACLE
- name: DB_ADDR
value: xxx.xx.xx.xxx
- name: DB_PORT
value: "1521"
- name: DB_DATABASE
value: sid_name
- name: DB_USER
value: db_user_name
- name: DB_PASSWORD
value: ******

当我尝试使用 service name 时而不是 SID作为 DB_DATABASE 的值它给出了以下错误。
Caused by: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

感谢您帮助解决此问题。

先感谢您..

最佳答案

Keycloak 的 docker 容器似乎不支持它。但是您可以构建自定义 docker 镜像来修复它。请看文件change-database.cli ,有一行:

connection-url=jdbc:oracle:thin:@${env.DB_ADDR:oracle}:${env.DB_PORT:1521}:${env.DB_DATABASE:XE}${env.JDBC_PARAMS:}

并且您需要这样的行(端口后的斜杠而不是冒号,这是 Oracle 服务名称工作所必需的):
connection-url=jdbc:oracle:thin:@${env.DB_ADDR:oracle}:${env.DB_PORT:1521}/${env.DB_DATABASE:XE}${env.JDBC_PARAMS:}

因此,更改此文件并构建自定义 Keycloak docker 镜像。 Dockerfile 可能类似于:
FROM jboss/keycloak:8.0.1
ADD /<path_on_your_system>/change-database.cli /opt/jboss/tools/cli/databases/oracle/change-database.cli

关于database - 使用数据库服务名称使用 keycloak 配置数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60220204/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com