From 036bf652800a28783937a6f89df7e9f76fc8d6c1 Mon Sep 17 00:00:00 2001 From: qraddx Date: Mon, 17 Jan 2022 16:14:55 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20Fixing=20a=20bug.=20close=20#3575=20?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E5=99=A8=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?sqlserver=E6=8A=A5=E9=94=99=EF=BC=8C=E6=97=A0=E6=B3=95=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=88=B0=E5=BA=93=E4=B8=AD=E7=9A=84=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/JdbcDynamicDataSourceProvider.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java index dffa23150..eb9bdaffc 100644 --- a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java +++ b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java @@ -19,6 +19,7 @@ package com.pig4cloud.pigx.common.datasource.config; import com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider; import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidConfig; import com.pig4cloud.pigx.common.datasource.support.DataSourceConstants; import com.pig4cloud.pigx.common.datasource.util.DsConfTypeEnum; import com.pig4cloud.pigx.common.datasource.util.DsJdbcUrlEnum; @@ -66,6 +67,10 @@ public class JdbcDynamicDataSourceProvider extends AbstractJdbcDataSourceProvide Integer confType = rs.getInt(DataSourceConstants.DS_CONFIG_TYPE); String dsType = rs.getString(DataSourceConstants.DS_TYPE); + DataSourceProperty property = new DataSourceProperty(); + property.setUsername(username); + property.setPassword(stringEncryptor.decrypt(password)); + String url; // JDBC 配置形式 DsJdbcUrlEnum urlEnum = DsJdbcUrlEnum.get(dsType); @@ -73,6 +78,11 @@ public class JdbcDynamicDataSourceProvider extends AbstractJdbcDataSourceProvide url = rs.getString(DataSourceConstants.DS_JDBC_URL); } else if (DsJdbcUrlEnum.MSSQL.getDbName().equals(dsType)) { + // Druid Config + DruidConfig druidConfig = new DruidConfig(); + druidConfig.setValidationQuery("select 'x'"); + property.setDruid(druidConfig); + String host = rs.getString(DataSourceConstants.DS_HOST); String port = rs.getString(DataSourceConstants.DS_PORT); String dsName = rs.getString(DataSourceConstants.DS_NAME); @@ -85,11 +95,8 @@ public class JdbcDynamicDataSourceProvider extends AbstractJdbcDataSourceProvide String dsName = rs.getString(DataSourceConstants.DS_NAME); url = String.format(urlEnum.getUrl(), host, port, dsName); } - - DataSourceProperty property = new DataSourceProperty(); - property.setUsername(username); - property.setPassword(stringEncryptor.decrypt(password)); property.setUrl(url); + map.put(name, property); }