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 eb9bdaffc..3bf449422 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 @@ -77,24 +77,17 @@ public class JdbcDynamicDataSourceProvider extends AbstractJdbcDataSourceProvide if (DsConfTypeEnum.JDBC.getType().equals(confType)) { 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); - String instance = rs.getString(DataSourceConstants.DS_INSTANCE); - url = String.format(urlEnum.getUrl(), host, instance, port, dsName); - } else { String host = rs.getString(DataSourceConstants.DS_HOST); String port = rs.getString(DataSourceConstants.DS_PORT); String dsName = rs.getString(DataSourceConstants.DS_NAME); url = String.format(urlEnum.getUrl(), host, port, dsName); } + + // Druid Config + DruidConfig druidConfig = new DruidConfig(); + druidConfig.setValidationQuery(urlEnum.getValidationQuery()); + property.setDruid(druidConfig); property.setUrl(url); map.put(name, property); diff --git a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/util/DsJdbcUrlEnum.java b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/util/DsJdbcUrlEnum.java index 44b064f7b..eed30ee29 100644 --- a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/util/DsJdbcUrlEnum.java +++ b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/util/DsJdbcUrlEnum.java @@ -22,32 +22,34 @@ public enum DsJdbcUrlEnum { "jdbc:mysql://%s:%s/%s?characterEncoding=utf8" + "&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true" + "&useLegacyDatetimeCode=false&allowMultiQueries=true&allowPublicKeyRetrieval=true", - "mysql8 链接"), + "select 1", "mysql8 链接"), /** * pg 数据库 */ - PG("pg", "jdbc:postgresql://%s:%s/%s", "postgresql 链接"), + PG("pg", "jdbc:postgresql://%s:%s/%s", "select 1", "postgresql 链接"), /** * SQL SERVER */ - MSSQL("mssql", "jdbc:sqlserver://%s\\%s:%s;database=%s;characterEncoding=UTF-8", "sqlserver 链接"), + MSSQL("mssql", "jdbc:sqlserver://%s:%s;database=%s;characterEncoding=UTF-8", "select 1", "sqlserver 链接"), /** * oracle */ - ORACLE("oracle", "jdbc:oracle:thin:@%s:%s:%s", "oracle 链接"), + ORACLE("oracle", "jdbc:oracle:thin:@%s:%s:%s", "select 1 from dual", "oracle 链接"), /** * db2 */ - DB2("db2", "jdbc:db2://%s:%s/%s", "DB2 TYPE4 连接"); + DB2("db2", "jdbc:db2://%s:%s/%s", "select 1 from sysibm.sysdummy1", "DB2 TYPE4 连接"); private final String dbName; private final String url; + private final String validationQuery; + private final String description; public static DsJdbcUrlEnum get(String dsType) {