可以,但官方只给了python2.7版本的包,python3目前无法使用,此外达梦自己的linux客户端只支持redhat或者centos。请首先在系统安装达梦客户端,下载地址如下:

具体流程如下:

Linux下DM7与Python的适配方法

1.概述

dmPython是DM提供的依据Python DB API version 2.0中API使用规定而开发的数据库访问接口。dmPython 实现这些API,使Python应用程序能够对DM数据库进行访问。

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

本文就将给大家介绍如何在Linux下使用dmPython接口来让Dm7适配python。

注:本文演示环境:

数据库版本:DM Database Server x64V7.1.6.46-Build(2018.02.08-89107)ENT

操作系统版本:Red Hat Enterprise LinuxServer release 6.5

内核版本:2.6.32-431.el6.x86_64

2.安装python

2.1、安装Python

解压后做以下操作:

(1)./configure --prefix=/usr/lib/python2.7(这里填写自己的安装目录)。

(2)执行make命令操作 对源码进行编译。

(3)执行make install 进行安装。

如果没有报错,则代表 python2.7已经成功安装。

2.2、修改服务器默认Python版本

在终端输入python命令,会发现系统原有版本为2.6.6,并没有使用我们部署的2.7版本。

可以使用which python命令查看该python命令调用的是那个位置的python,一般情况下是在/usr/bin/python。

但是,这里的python指向的是系统自带的2.6版本,而我们安装的python2.7的命令在/usr/lib/python2.7/bin(前边的路径要根据你的安装路径确定)。我们只需把/usr/bin/python 删除掉:

rm /usr/bin/python

然后做个软连接

ln -s /usr/lib/python2.7/bin/python /usr/bin/python

再次在终端输入python命令,已经为2.7版本。

3.安装dmPython

3.1、rpm方式安装dmPython

dmPython可以运行在任何安装了python的平台上。可以使用安装包进行安装,需要保证dpi和dmPython版本一致,都是32位或都是64位,另外选择的RPM包的版本也要跟Python版本一致。(py27对应2.7版本的python,py33对应3.3版本的python)

在linux平台成功部署DM7客户端后,在dmdbms/python目录下存在安装dmPython的rpm安装包dmPython-2.3-7.1-py27-1.x86_64.rpm

在 Linux 操作系统下使用 rpm 包安装 dmPython。安装和卸载命令参考如下:

安装: rpm -ivh dmPython-2.3-7.1-py27-1.x86_64.rpm --nodeps

卸载: rpm -e dmPython-2.3-1.x86_64

注意,使用rpm包安装之后,需要检测下python安装目录下lib/python2.7/site-packages/内有无dmPython.so文件,如果没有,则需要手动把/usr/local/lib/python2.7/site-packages下的dmPython.so文件拷贝到Python安装目录下的对应位置。

3.2、源码方式安装dmPython

另外,也可以使用源码包进行安装,源码包下载地址,操作如下:

方式一:如果已经部署DM7客户端,则进行如下操作:

1、解压dmPython.zip

unzip dmPython.zip

2、运行下面的命令:

cd dmPython

python setup.py install

方式二:如果没有部署DM7客户端,则进行如下操作:

1、解压dmPython.zip

unzip dmPython.zip

2、运行下面的命令:

cd dmPython

3、设置DM_HOME环境变量为某个目录,假定为/opt/app/dmdbms

export DM_HOME=/opt/app/dmdbms

4、将其他服务器上部署的DM7客户端的动态库拷贝(从其他安装过DM7的相同操作系统的机器上拷贝)到$DM_HOME目录

scp -r dmdba@IP:/opt/app/dmdbms/bin/opt/app/dmdbms/

5、将其他服务器上部署的DM7客户端的include目录拷贝到$DM_HOME目录下

scp -r dmdba@IP:/opt/app/dmdbms/include/opt/app/dmdbms/

6、设置环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/app/dmdbms/bin

7. 运行下面的命令

python setup.py install

4.配置环境变量

dmPython 的运行需要使用 dpi 动态库,用户应将 dpi 所在目录(一般为 DM 安装目录中的 bin 目录)加入系统环境变量,将dmdbms\bin目录添加到系统的环境变量中,如下:

export PATH=$PATH:/opt/app/dmdbms/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/app/dmdbms/bin

5.连接DM7

$python

>>> import dmPython

>>>conn=dmPython.connect(user='SYSDBA',password='SYSDBA',server= 'LOCALHOST',port=5236)

6.查询测试

>>> cursor = conn.cursor()

>>> cursor.execute('select 1 from dual')

>

>>> values = cursor.fetchall()

>>> values

[('1',)]

7.关闭连接和游标

>>> cursor.close()

>>> conn.close()

参考资料:

python达梦数据库_Python 编程可以访问达梦数据吗?相关推荐

  1. python 汽车行业数据库_python 实现汽车之家车型数据爬虫

    爬虫保存数据库的样子: 详细数据在json_text字段里面 安装使用方法:git clone https://github.com/shancang/spider.git pip install - ...

  2. python 测试mysql数据库_Python操作MySQL数据库----继续安装和测试

    接上篇,在上一篇中,我们安装好了python和sublime,下面我们需要安装MYSQL的相关软件. 1.安装MYSQL SERVER5.5.28,安装5.6版本的也可以,只是5.6版本安装完成之后没 ...

  3. python达梦数据库_python 操作达 梦数据库

    python 达梦数据库操作流程 连接数据库 dm.connect( ... ) 获取游标 dm_conn.cursor() 编写SQL语句 sql_str 执行SQL语句 dm_cursor.exe ...

  4. python开发小型数据库_python数据库编程小应用

    python DB api 数据库连接对象connection 数据库交互对象cursor 数据库异常类exceptions 流程: 开始 创建connection 获取cursor 执行查询.执行命 ...

  5. python建立sqlite数据库_python sqlite3 创建数据库

    Python标准库14 数据库 (sqlite3) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关 ...

  6. 达梦数据库(DM)——配置达梦数据库外部链接——DM到DM的外部链接创建

    目录 一.关于外部链接 二.环境准备工作 三.DM到DM的外部链接创建 3.1配置dm.ini 3.2配置dmmal.ini 3.3重启数据库服务 3.4创建外部链接 3.4.1在源端上建立到目的端的 ...

  7. python教程很详细_Python编程入门教程:从入门到高级,非常详细

    本文的资料和内容是我下载的,觉得非常有用,于是转过来大家瞧瞧: 这里给初学Python的朋友提供一些建议和指导吧.大神请无视, 俗话说:授人以鱼不如授人以渔.所以我这里只是阐述学习过程,并不会直接详细 ...

  8. python读取mysql数据库_Python操作MySQL数据库9个实用实例

    在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1. ...

  9. 达梦数据库兼容mysql_浅谈达梦数据库的兼容模式

    达梦数据库号称国产数据库第一品牌,在某些方面还是有它的优势的,作为IT攻城狮,我从事软件行业已经有10多年了,oracle.mysq.sqlserver都已经用的很熟了,这2年做了几个国产化相关的项目 ...

最新文章

  1. 前端框架Vue、angular、React的优点和缺点,以及应用场景
  2. python 降维 聚类_比PCA降维更高级——(R/Python)t-SNE聚类算法实践指南
  3. 智能文档分析:NLP和OCR的融合技术
  4. 软考网络规划设计师基础知识考察要点
  5. 在c语言中输入三个数据类型,【C语言讲解】第二章:数据类型3
  6. UE4官方文档UI学习:1.UMG UI设计器快速入门
  7. 《Word 排版艺术》一书的人到此交流
  8. 双反馈直流matlab仿真,双闭环直流调速系统的课程设计(MATLAB仿真)
  9. 2021年中青杯 B题 港珠澳车辆通行(详细解题思路)
  10. (1)电源管理-S3C2440芯片电源管理模块解析
  11. fastlane php,fastlane安装与初体验
  12. linux查看m2网卡驱动,求助 华硕P5M2-E的千兆网卡驱动如何安装?
  13. java 3D学习笔记
  14. PS怎样把成图变成素描或者速写稿
  15. 在线绘制2维/3维函数图像、求导网站
  16. 28天打造专业红客(十一)
  17. 瀑布流布局:CSS3多列属性column实现
  18. MPU3050+加速度计数据处理
  19. awk,gawk,mawk,nawk的重定向笔记221107
  20. LC72 Edit Distance

热门文章

  1. 微软正在开发基于Rust的安全编程语言
  2. asp.net mvc 自定义 pager 封装与优化
  3. Visual Studio Online,带来四种开发模式,未来已来。
  4. 深入理解 ValueTask
  5. 对Windows桌面应用程序进行UI自动化测试
  6. 庆祝.NET Core悄然崛起:免费送50本优秀技术书籍,请笑纳!!
  7. Emit动态代理.NetCore迁移之旅
  8. 迁移Net项目为Net Core\Standard项目
  9. OAuth 2.0: Bearer Token Usage
  10. 编程语言的发展趋势及未来方向(4):动态语言