人大金仓数据库Kingbase相关错误可以参考pg解决,数据库部分函数与pg通用.
1、ksycopg2的安装,建议直接从官网下载,地址:人大金仓-KingbaseES V8 R6 点击Python后,在下适配文件
2、pip 安装好后,import可能还会有错误,例如缺少libpg.so.5、libpg.ssl.6等,此时需要将Kingbase数据库安装目录下(kingbase/Interface/occi/lib/libpq.so.5)的文件建立软连接到/usr/lib64,即可解决
3、import成功后,实际使用中可能会有如下错误:“sqlalchemy.sql.sqltypes' has no attribute 'NativeForEmulated'”,此时需要更新包sqlalchemy,建议更新成1.3.7版本即可
4、实际使用中发现Python调用时会报部分函数不存在等错误,例如sys_catalog.format_type,改函数可以通过pg_catalog中获取,只需通过如下SQL转一下即可
select pg_get_functiondef(oid) AS def from pg_porc where procname = 'format_type' --换成缺失的函数
找到函数定义后直接将pg_catalog改成sys_catalog定义新的函数即可