瀚高数据库
目录
环境
症状
问题原因
解决方案
环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5
症状
python应用系统访问瀚高安全版4.5.5失败,提示“authentication method 13 not supported”的错误。
问题原因
python系统原来访问的是postgresql,使用的是开源的libpq.so.5文件,不支持sm3的密码认证算法。
解决方案
客户的python安装在docker容器中,经过以下操作后,发现了libpq文件的所在目录。
①执行find / -name *_psycopg*命令
发现/usr/local/lib/python3.7/dist-packages/psycopg2/_psycopg.cpython-37m-aarch64-linux-gnu.so文件,该文件用于访问数据库。
②执行ldd _psycopg.cpython-37m-aarch64-linux-gnu.so
发现该so文件引用了libpq.so.5文件,目录是/usr/lib/aarch64-linux-gnu。
③用瀚高库lib目录下的libpq.so.5文件替换了上面目录的对应文件,同时把软链接引用的libpq.so.5.12文件复制到了上面目录中。
以上操作之后,客户的应用程序可以访问瀚高安全版4.5.5了。