自学内容网 自学内容网

python 连接高斯数据库报错

问题1:报错信息:

import psycopg2时报错

/lib64/libgssapi_krib5.so.2 symbol krb5_ser_contect_init version krb5_3_MIT not defined in file libkrb5.so.3 

错误原因:

解决:

若通过更换krb相关安装包,psycopg2 ,psycopg2-binary 等安装包无法解决时‘’;

通过此方法解决

因为psycopg2依赖libpg 库;

postgresql数据库中自带有客户端连接工具带有libpg库,所以新安装一个postgresql,将环境变量配置到新安装的目录下,则可解决以上问题

解决步骤:

1.下载postgresql: PostgreSQL: File Browsericon-default.png?t=O83Ahttps://www.postgresql.org/ftp/source/

2.安装postgresql:在解压缩目录下: make,  sudo make install

3.配置环境变量: 

export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH

注:/usr/local/pgsql/目录为新安装的postgresql数据库目录

问题2:none of the servers SASL authentication mechanisms are supported

解决:

修改服务器对应用户的加密方式

openGauss数据库连接问题_none of the server's sasl authentication mechanism-CSDN博客

https://support.huawei.com/enterprise/zh/knowledge/EKB1100141184


修改 data/single_node/postgresql.conf 中 password_encryption_type = 1 ,表示支持 md5 和 sha256。
修改 pg_hba.conf 中加密算法

然后重启 openGauss:gs_ctl restart -D /opt/software/openGauss/data/single_node
连接到 openGauss 创建用户和数据库。

create database mydb;
CREATE USER tuser WITH PASSWORD '自己定义';
GRANT ALL PRIVILEGES TO tuser;
alter database mydb owner to tuser;
 

使用pyodbc连接高斯数据库

pyodbc连接gaussdb_python 连接gaussdb-CSDN博客

报错解决: 

https://blog.csdn.net/victory0508/article/details/51554032

报错:cant open lib  psqlodbcw.so : file not found(0)   -- 将odbcinst.ini 中driver文件地址指向 /usr/lib64/odbcinst.so 文件

已上报错解决后 还是报错: none of the server SASL authentication mechanisms are supported

改用户加密方式和密码

1.改password_encryption_type参数

password_encryption_type
默认值为2,表示用户密码加密为sha256
为1表示兼容md5和sha256

2.老用户需要改下密码

alter user xx with identified by 'newpass' replace 'oldpass'

3.新用户直接指定密码的加密方式

CREATE USER testuser WITH PASSWORD 'Test@1234' ENCRYPTED BY 'scram-sha-256';

md5 和 scram-sha-256

操作需要在数据库服务器上修改,不需重启数据库


原文地址:https://blog.csdn.net/qq_37674086/article/details/145145858

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!