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 8520d16557..34aee0fadd 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 @@ -777,131 +777,171 @@ public class CalciteProvider extends Provider { case StarRocks: case doris: configuration = JsonUtil.parseObject(ds.getConfiguration(), Mysql.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); break; case impala: configuration = JsonUtil.parseObject(ds.getConfiguration(), Impala.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); break; case sqlServer: configuration = JsonUtil.parseObject(ds.getConfiguration(), Sqlserver.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case oracle: configuration = JsonUtil.parseObject(ds.getConfiguration(), Oracle.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case db2: configuration = JsonUtil.parseObject(ds.getConfiguration(), Db2.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case ck: configuration = JsonUtil.parseObject(ds.getConfiguration(), CK.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); break; case pg: configuration = JsonUtil.parseObject(ds.getConfiguration(), Pg.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case redshift: configuration = JsonUtil.parseObject(ds.getConfiguration(), Redshift.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case h2: configuration = JsonUtil.parseObject(ds.getConfiguration(), H2.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); break; default: configuration = JsonUtil.parseObject(ds.getConfiguration(), Mysql.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); }