Python连接Kingbase的实现示例
背景
由于之前Py程序连接的MySQL,现在适配国产DB,所以需要修改程序。
按Kingbase官网步骤操作,卡在import ksycopg2 总是报找不到模块错误!
安装psycopg2
后来百度发现使用psycopg2 也可以连接kingbase,结果一样报找不到模块错误!
按网上步骤
pip install psycopg2 pip3 install psycopg2
都不好使,后来得到解决方案,具体如下
yum install python3-devel postgresql-devel* pip3 install psycopg2
结果可行,但我暂时没用psycopg2 连接kingbase
安装ksycopg2
下载ksycopg2
下载地址:https://www.kingbase.com.cn/downdriven/index.htm
我下载版本:v8r6_python3.6.8_for_ksycopg2_x86_64.tar.gz
保存ksycopg2
查看python模块路径:
将ksycopg2上传至/root目录下,
解压ksycopg2 到 /usr/local/lib64/python3.6/site-packages 目录下:
tar xf v8r6_python3.6.8_for_ksycopg2_x86_64.tar.gz -C /usr/local/lib64/python3.6/site-packages
加载libpq库文件
编辑/etc/ld.so.conf文件:
vi /etc/ld.so.conf
添加如下代码:
执行如下代码:
/usr/sbin/ldconfig
验证ksycopg2
连接kingbase
class KingbaseDb(): def __init__(self, host, passwd, db): try: self.conn = ksycopg2.connect( host=host, port=54321, user='root', password=passwd, database=db ) self.cur = self.conn.cursor() except ksycopg2.Error as err: logger.error(err) sys.exit(-1) def __del__(self): try: self.cur.close() self.conn.close() except AttributeError: pass def execute_db(self, sqls): try: if isinstance(sqls, list): for sql in sqls: self.cur.execute(sql) else: self.cur.execute(sqls) self.conn.commit() except Exception as e: logger.warning(e) self.conn.rollback()
到此这篇关于Python连接Kingbase的实现示例的文章就介绍到这了,更多相关Python连接Kingbase内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python DataFrame.groupby()聚合函数,分组级运算
python的pandas包提供的数据聚合与分组运算功能很强大,也很灵活,本文就带领大家一起来了解groupby技术,感兴趣的朋友跟随小编一起来看下2018-09-09python实现将range()函数生成的数字存储在一个列表中
这篇文章主要介绍了python实现将range()函数生成的数字存储在一个列表中,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-04-04
最新评论