GBase 8s
适配迁移
问答

sqlqlchemy-gbasedbt代码中生成连接字符串的代码似乎有误

发表于2024-09-09 14:29:20109次浏览3个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】:

gbase8s v8.8_3503x1_x64

【操作系统】:

麒麟V10sp1

【CPU】:

x86

【问题描述】*:

通过sqlalchemy-gbasedbt链接数据库时,收到报错连接字符串无效。而使用dbtpy直连可以连接成功。

对比后尝试修改sqlalchemy-gbasedbt中的dbtpy.py代码GBasedbtDialect类中create_connect_args函数的字典如下:

available_options = {
    'username': 'UID',
    'password': 'PWD',
    # 'host': 'HOSTNAME',
    # 'port': 'PORT',
    'host': 'HOST',
    'port': 'SERVICE',
    'database': 'DATABASE'
}

修改后可以恢复正常。

另外,在修改前,如果配置环境变量

export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.gbaseserver(数据库实例配置文件)

库亦可以正常工作,但此种方式无法处理后端与数据库不在一处部署的情况

望确认是否确实是代码中字段错误,如是望尽快修复。

评论

登录后才可以发表评论
用户头像
liaosnet发表于 1年前
使用dbtpy,需要GBASEDBTSQLHOSTS配置参数。sqlhosts可以使用远程连接(即sqlhosts中定义的server名称是远程的,地址也是远程的)
最佳回答
GBase用户18172发表于 1年前
@liaosnet:生成连接字符串的字段名映射错误这个可以官方修复吗。
GBase用户51887发表于 2个月前
看看啦。