前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux(Centos) Python编译安装达梦驱动 dmPython

Linux(Centos) Python编译安装达梦驱动 dmPython

作者头像
码农笔录
发布2021-12-06 19:09:06
4.1K0
发布2021-12-06 19:09:06
举报
文章被收录于专栏:码农笔录码农笔录

原文链接 https://www.aiprose.com/blog/150

dmPython 是 DM 提供的依据 Python DB API version 2.0 中 API 使用规定而开发的数据库访问接口。

使用 Python 连接达梦数据库时需要安装 dmPython。安装完 DM 数据库软件后,在安装路径下的 drivers 目录下,可以找到 dmPython 的驱动源码,由于提供的是源码,需要自己编译安装。

安装的时候区分是否本机已经安装达梦数据库,如果本机已经安装好达梦数据库,参考第一种,如果本机没有安装,请参考第二种。

linux 平台安装方法一

注意:需要先安装 DM 数据库

1.下载驱动包源码

代码语言:javascript
复制
wget https://download.dameng.com/eco/docs/python-126594-20201027.zip
或者
curl https://download.dameng.com/eco/docs/python-126594-20201027.zip -o python-126594-20201027.zip

2.解压驱动包

代码语言:javascript
复制
unzip python-126594-20201027.zip

3.编译驱动包

代码语言:javascript
复制
cd 驱动源码解压目录python/dmPython_C/dmPython

python setup.py install

linux 平台安装方法二

注意:本机没有安装 DM 数据库

1.下载驱动包源码

代码语言:javascript
复制
wget https://download.dameng.com/eco/docs/python-126594-20201027.zip
或者
curl https://download.dameng.com/eco/docs/python-126594-20201027.zip -o python-126594-20201027.zip

2.解压驱动包

代码语言:javascript
复制
unzip python-126594-20201027.zip

3.安装gcc

编译安装必须要GCC,如果没有安装请先安装

代码语言:javascript
复制
yum install gcc

4.设置环境变量

设置 DM_HOME 环境变量为某个目录,假定为 /data/publish/python/dmdbms

注意:dmPython 通过调用 DM DPI 接口完成 Python 模块扩展。在其使用过程中,除 Python标准库以外,还需要 DPI 的运行环境。

代码语言:javascript
复制
vi /etc/profile

// 加入如下配置
export DM_HOME=/data/publish/python/dmdbms
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/publish/python/dmdbms/

source /etc/profile

如果不设置LD_LIBRARY_PATH,会报错:

代码语言:javascript
复制
 import dmPython
  File "build/bdist.linux-x86_64/egg/dmPython.py", line 7, in <module>
  File "build/bdist.linux-x86_64/egg/dmPython.py", line 6, in __bootstrap__
ImportError: libdmdpi.so: cannot open shared object file: No such file or directory

5.复制文件 // 从其他安装过 DM 数据库的相同操作系统的机器上拷贝,或者下载我这可用的文件点击下载dpi文件

代码语言:javascript
复制
把dmserver/drivers/dpi下的所有文件复制到/data/publish/python/dmdbms
image.png
image.png

5.编译驱动包

代码语言:javascript
复制
cd 驱动源码解压目录python/dmPython_C/dmPython

python setup.py install

如果报错Python.h 没有那个文件或者目录

dmPython编译报错.png
dmPython编译报错.png

解决方法:安装 python-devel 依赖包。

代码语言:javascript
复制
yum install python-devel

//python3
yum install python3-devel

然后执行

代码语言:javascript
复制
python setup.py install

编译成功的记过如图所示:

代码语言:javascript
复制
编译结果
Installed /usr/lib64/python2.7/site-packages/dmPython-2.3-py2.7-linux-x86_64.egg
Processing dependencies for dmPython==2.3
Finished processing dependencies for dmPython==2.3
image.png
image.png

可以通过 pip list查看是否安装成功

image.png
image.png

编写测试代码

vi testdm.py

代码语言:javascript
复制
#!/usr/bin/python
#coding:utf-8
import dmPython
try:
    conn = dmPython.connect(user='SYSDBA', password='SYSDBA', server='192.168.0.122',  port=5236)
    cursor  = conn.cursor()
    print('python: conn success!')
    conn.close()
except (dmPython.Error, Exception) as err:
    print(err)

然后执行

代码语言:javascript
复制
python test.py 

如果连接成功会输出conn success!

image.png
image.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • linux 平台安装方法一
  • linux 平台安装方法二
  • 编写测试代码
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档