Skip to content

Commit

Permalink
Merge pull request #366 from actiontech/fix_cb_connect_obmysql
Browse files Browse the repository at this point in the history
fix: cb connect ob mysql
  • Loading branch information
winfredLIN authored Feb 14, 2025
2 parents 13c04c4 + 10856f7 commit 292537a
Showing 1 changed file with 7 additions and 14 deletions.
21 changes: 7 additions & 14 deletions internal/dms/biz/cloudbeaver.go
Original file line number Diff line number Diff line change
Expand Up @@ -1310,21 +1310,14 @@ func (cu *CloudbeaverUsecase) fillDB2Params(inst *DBService, config map[string]i
}

func (cu *CloudbeaverUsecase) fillOceanBaseParams(inst *DBService, config map[string]interface{}) error {
tenant := inst.AdditionalParams.GetParam("tenant_name")
if tenant == nil {
return fmt.Errorf("the tenant name of oceanbase cannot be empty")
// 获取租户, 在用户名处指定连接的租户: user@tenant
tenant := inst.AdditionalParams.GetParam("tenant_name").String()
if !strings.Contains(inst.User, "@") && tenant != "" {
inst.User = fmt.Sprintf("%s@%s", inst.User, tenant)
}

config["driverId"] = "oceanbase:alipay_oceanbase"
config["authModelId"] = "oceanbase_native"

credentials := config["credentials"]
credentialConfig, ok := credentials.(map[string]interface{})
if !ok {
return errors.New("assert oceanbase connection params failed")
}
credentialConfig["userName"] = fmt.Sprintf("%v@%v", inst.User, tenant)
config["credentials"] = credentialConfig
// OB MySQL本身支持使用MySQL客户端连接, 此处复用MySQL driver
// https://github.com/actiontech/dms/issues/365
config["driverId"] = "mysql:mysql8"
return nil
}

Expand Down

0 comments on commit 292537a

Please sign in to comment.