用FlightSqlDriver创建自定义连接池,设置的库名一直不生效

Viewed 7

执行Sql时必须带上库名才能执行,不然一直提示找不到库名

1 Answers

DorisAdbcPool,java x DorsiMapperSacnner.java DorisSelectAspect.java DorisQueryTemplate.java x DorisStreamLoadClient.java
private Adbcconnection createconnection()(
int retrycount = 0;
int maxRetry feNodesList.size();
whil e(retrycount< maxRetry){
string feNode - getRandFeNode();
logger.info(message:"尝试连接FE节点:()",feNode);
Map<string,object> parameters new HashMap<>();
parameters.put(AdbcDriver.PARAMURI.qetkey(),"grpc://"+feNode); parameters.put(AdbcDriver.PARM USERNAME.getKey(),username);
parameters.put(AdbcDriver.PARAM_PASSWORD.getKey(), Encrypt.AEsDncode(encodeRules:"itsp",password)); if(database!-null&&!database.isEmpty()){
92 parameters.put("adbc.flight.sql.database",database);
parameters.put("database",database);
94 连接超时时间
parameters.put("adbc.flight.sql.rpc.timeout_seconds.connect",10);
96
9 AdbcDatabase db-null;
9 Adbcconnection connect=null;
try{
db -driver.open(parameters); connect= db.connect();
02 if(!isvalid(connect)){
throw new Exception("连接创建成功,但是有效性校验失败-);

db.close();
return connect; I
}catch (Exception e){
logger.info(message:"创建Doris ADBC连接FE节点()失败,尝试下一个节点",fesode,e); if(connect!-null)<
try{
connect.close();