mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-31 19:52:54 +08:00
add custom jdbc
This commit is contained in:
@ -1,19 +1,17 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.spi.config.DriverConfig;
|
||||
import ai.chat2db.spi.model.KeyValue;
|
||||
import ai.chat2db.spi.model.SSHInfo;
|
||||
import ai.chat2db.spi.model.SSLInfo;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数据源测试参数
|
||||
*
|
||||
@ -89,4 +87,10 @@ public class DataSourceTestParam {
|
||||
* 扩展信息
|
||||
*/
|
||||
private List<KeyValue> extendInfo;
|
||||
|
||||
|
||||
/**
|
||||
* 驱动配置
|
||||
*/
|
||||
private DriverConfig driverConfig;
|
||||
}
|
||||
|
@ -114,19 +114,18 @@ public class DataSourceServiceImpl implements DataSourceService {
|
||||
@Override
|
||||
public ActionResult preConnect(DataSourcePreConnectParam param) {
|
||||
DataSourceTestParam testParam
|
||||
= dataSourceConverter.param2param(param);
|
||||
|
||||
// todo
|
||||
// DriverConfig driverConfig = new DriverConfig();
|
||||
// driverConfig.setJdbcDriver(param.getDriver());
|
||||
// driverConfig.setJdbcDriverClass(param.getDriver());
|
||||
DriverConfig driverConfig = Chat2DBContext.getDefaultDriverConfig(param.getType());
|
||||
= dataSourceConverter.param2param(param);
|
||||
DriverConfig driverConfig = testParam.getDriverConfig();
|
||||
if (driverConfig == null || !driverConfig.notEmpty()) {
|
||||
driverConfig = Chat2DBContext.getDefaultDriverConfig(param.getType());
|
||||
}
|
||||
DataSourceConnect dataSourceConnect = JdbcUtils.testConnect(testParam.getUrl(), testParam.getHost(),
|
||||
testParam.getPort(),
|
||||
testParam.getUsername(), testParam.getPassword(), testParam.getDbType(),
|
||||
driverConfig, param.getSsh(), KeyValue.toMap(param.getExtendInfo()));
|
||||
testParam.getPort(),
|
||||
testParam.getUsername(), testParam.getPassword(), testParam.getDbType(),
|
||||
driverConfig, param.getSsh(), KeyValue.toMap(param.getExtendInfo()));
|
||||
if (BooleanUtils.isNotTrue(dataSourceConnect.getSuccess())) {
|
||||
return ActionResult.fail(dataSourceConnect.getMessage(), dataSourceConnect.getDescription(), dataSourceConnect.getErrorDetail());
|
||||
return ActionResult.fail(dataSourceConnect.getMessage(), dataSourceConnect.getDescription(),
|
||||
dataSourceConnect.getErrorDetail());
|
||||
}
|
||||
return ActionResult.isSuccess();
|
||||
}
|
||||
|
Reference in New Issue
Block a user