English
购物车图片 购物车 ( )
最专业的品牌服务,为您创造更高的价值
总体概述 客户评价

【干货分享】Linux下DM7与Python的适配方法


【干货分享】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

从官网下载Python 2.7.15的安装包。(https://www.python.org/downloads/source/)

解压后做以下操作:

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

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

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

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

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

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


【干货分享】Linux下DM7与Python的适配方法


可以使用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版本。

【干货分享】Linux下DM7与Python的适配方法


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()

以上就是Linux下DM7适配Python的基本方法,如果大家想对dmPython接口有更进一步的了解,可以参考Dm7安装目录下doc/special中的《 dm7_dmPython文档》。



【干货分享】Linux下DM7与Python的适配方法


客户资料:
年缴保费:
客户需求:


【干货分享】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

从官网下载Python 2.7.15的安装包。(https://www.python.org/downloads/source/)

解压后做以下操作:

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

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

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

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

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

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


【干货分享】Linux下DM7与Python的适配方法


可以使用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版本。

【干货分享】Linux下DM7与Python的适配方法


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()

以上就是Linux下DM7适配Python的基本方法,如果大家想对dmPython接口有更进一步的了解,可以参考Dm7安装目录下doc/special中的《 dm7_dmPython文档》。



【干货分享】Linux下DM7与Python的适配方法


相关案例
2018 - 10 - 12
点击次数: 10000
在DM7的日常使用中,当我们创建新表或者插入数据的时候,有可能会碰到磁盘不足的情况。这种报错的产生,往往不是因为真实硬盘上的空间不足,而是由于对应的表空间上没有足够的空间进行操作。本文就将给大家分享如何查看表空间的使用情况。注:本文演示环境:DM Database Server x64 V7.1.6.46-Build(2018.02.08-89107)ENT1、创建测试环境创建表空间:这里我们创建...
2018 - 09 - 30
点击次数: 10000
01锁查询通过上述语句,查看是否有事务阻塞。02  查询阻塞事务及被阻塞事务ID得到阻塞事务ID后,通过达梦数据库提供的事务日志,查找到阻塞事务的具体SQL,然后再进一步优化。也可通过动态视图直接查找阻塞事务的具体SQL语句:
2018 - 09 - 21
点击次数: 10000
大家在使用数据库的过程中,如果想对数据库在各个时点的参数进行监控,就需要用到数据库快照。数据库安装完成后,数据库快照功能默认是关闭的。数据库快照是一个只读的静态的数据库。DM快照功能是基于数据库实现的,每个快照是基于数据库的只读镜像。通过检索快照,可以获取源数据库在快照创建时间点的相关数据信息。本文就将给大家介绍如何生成数据库快照以及AWR报告。注:本文演示环境:DM Database Serve...
2018 - 08 - 31
点击次数: 10000
1.前言当大家使用DMHS进行数据同步之前,我们需要确保源端和目的端的同步表数据一致。通常我们可以通过DMHS的初始装载功能来把源端数据库装载到源端中,但是在生产环境中,有时候会发现目的端已经有了部分数据。此时为了确保数据不丢失,我们需要对两边数据库的数据做一致性比较,这里我们就可以用到veri工具。本文就将给大家介绍如何配置以及使用DMHS中带的veri工具。2. 测试环境对比环境为一台wind...
2018 - 08 - 24
点击次数: 0
在大家刚刚接触达梦数据库的时候,经常会碰到的一个问题就是网络通讯异常。跟据使用的连接工具不同,问题具体可能表现为网络通讯异常或者socket连接失败。Mana ger下的报错Disql下的报错 当遇到此类报错的时候,我们该如何排查问题呢,本文就将给大家介绍几种可能的错误原因以及排查办法。 一、达梦数据库的服务没有启动1)linux服务器执行 ps -ef|grep d...
官网微信公众号官方微信公众号
官方技术咨询群官方技术咨询群
支持:dmtech@dameng.com
地址:中国·武汉·东湖新技术开发区高新大道999号未来科技大厦C3栋16-19层
咨询热线:400 991 6599
传真:+86 0755-2788 8009
友情链接:
鄂Copyright ©2017 - 2018 武汉达梦数据库有限公司
犀牛云提供企业云服务
X
3

SKYPE 设置

4

阿里旺旺设置

等待加载动态数据...

等待加载动态数据...

5

电话号码管理

6

二维码管理

等待加载动态数据...

等待加载动态数据...

展开