Merge pull request #12995 from dataease/dev-v2@fixexportdata

fix: 修复初始化数据库连接池失败
This commit is contained in:
taojinlong 2024-10-30 12:38:52 +08:00 committed by GitHub
commit 22b6500cb5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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);
}