From d14f649f1f3b8cdaedf1ca8acdbf4eebdf261916 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 26 Aug 2025 16:26:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E3=80=90=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E3=80=91=E4=BF=AE=E5=A4=8Dpg=E6=95=B0=E6=8D=AE=E6=BA=90shema?= =?UTF-8?q?=E5=B8=A6=E7=A9=BA=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/provider/CalciteProvider.java | 32 +++++++++++++++++++ .../java/io/dataease/datasource/type/Pg.java | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java b/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java index 2265d98507..6247393530 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java @@ -863,6 +863,38 @@ public class CalciteProvider extends Provider { } } break; + case oracle: + configuration = JsonUtil.parseObject(datasourceDTO.getConfiguration(), Oracle.class); + if (StringUtils.isNotEmpty(configuration.getUrlType()) && configuration.getUrlType().equalsIgnoreCase("jdbcUrl")) { + if (configuration.getJdbcUrl().contains("password=")) { + String[] params = configuration.getJdbcUrl().split("&"); + String pd = ""; + for (int i = 0; i < params.length; i++) { + if (params[i].contains("password=")) { + pd = params[i]; + } + } + configuration.setJdbcUrl(configuration.getJdbcUrl().replace(pd, "password=******")); + datasourceDTO.setConfiguration(JsonUtil.toJSONString(configuration).toString()); + } + } + break; + case db2: + configuration = JsonUtil.parseObject(datasourceDTO.getConfiguration(), Db2.class); + if (StringUtils.isNotEmpty(configuration.getUrlType()) && configuration.getUrlType().equalsIgnoreCase("jdbcUrl")) { + if (configuration.getJdbcUrl().contains("password=")) { + String[] params = configuration.getJdbcUrl().split(";"); + String pd = ""; + for (int i = 0; i < params.length; i++) { + if (params[i].contains("password=")) { + pd = params[i]; + } + } + configuration.setJdbcUrl(configuration.getJdbcUrl().replace(pd, "password=******")); + datasourceDTO.setConfiguration(JsonUtil.toJSONString(configuration).toString()); + } + } + break; default: break; } diff --git a/core/core-backend/src/main/java/io/dataease/datasource/type/Pg.java b/core/core-backend/src/main/java/io/dataease/datasource/type/Pg.java index 247e9b8526..9163fa862d 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/type/Pg.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/type/Pg.java @@ -37,7 +37,7 @@ public class Pg extends DatasourceConfiguration { .replace("PORT", getLPort().toString().trim()) .replace("DATABASE", getDataBase().trim()); } else { - jdbcUrl = "jdbc:postgresql://HOSTNAME:PORT/DATABASE?currentSchema=SCHEMA" + jdbcUrl = "jdbc:postgresql://HOSTNAME:PORT/DATABASE?currentSchema=\"SCHEMA\"" .replace("HOSTNAME", getLHost().trim()) .replace("PORT", getLPort().toString().trim()) .replace("DATABASE", getDataBase().trim())