博客
关于我
Linux下达梦数据库与Python的适配方法
阅读量:159 次
发布时间:2019-02-28

本文共 1993 字,大约阅读时间需要 6 分钟。

dmPython 操作指南

1. 概述

dmPython 是 DM 提供的依据 Python DB API version 2.0 中 API 使用规定而开发的数据库访问接口。它通过调用 DM DPI 接口为 Python 应用程序提供对 DM 数据库的访问能力。dmPython 的运行需要 Python 标准库外,还需 DM 的 DPI 运行环境支持。

环境要求

  • 数据库版本:DM 数据库服务器 v7.1.6.46-Build(2018.02.08-89107)ENT
  • 操作系统版本:Red Hat Enterprise Linux Server release 6.5
  • 内核版本:2.6.32-431.el6.x86_64

2. 安装 Python

2.1 安装 Python

  • 从 Python 官方网站下载 Python 2.7.15 的安装包(https://www.python.org/downloads/source/)。
  • 解压后,进入安装目录执行以下命令:
    ./configure --prefix=/usr/lib/python2.7

    (填写自己的安装目录。)

  • 编译并安装:
    makemake install

    若无错误提示,表示 Python 2.7 已成功安装。

  • 2.2 修改默认 Python 版本

    在终端中输入 python 命令,系统可能会使用默认的 Python 2.6.6版本。为了切换到我们安装的 Python 2.7.15:

  • 删除系统默认 Python 命令:
    rm /usr/bin/python
  • 创建符号链接:
    ln -s /usr/lib/python2.7/bin/python /usr/bin/python
  • 再次输入 python,系统将使用 Python 2.7.15。

  • 3. 安装 dmPython

    3.1 使用 RPM 包安装

    dmPython 支持在安装了 Python 的平台上运行。安装前需确保 DM7 客户端已成功部署,并且 dmPython-2.3-7.1-py27-1.x86_64.rpm 位于 dmdbms/python 目录下。

  • 安装命令:
    rpm -ivh dmPython-2.3-7.1-py27-1.x86_64.rpm --nodeps
  • 卸载命令:
    rpm -e dmPython-2.3-1.x86_64
  • 验证安装:在 python安装目录 下检查 lib/python2.7/site-packages/ 是否有 dmPython.so。若无,需手动将 usr/local/lib/python2.7/site-packages 下的 dmPython.so 拷贝到相应位置。
  • 3.2 使用源码包安装

  • 解压源码包:
    unzip dmPython.zip
  • 进入源码目录:
    cd dmPython
  • 安装前需设置 DM_HOME 环境变量,例如:
    export DM_HOME=/opt/app/dmdbms
  • 将 DM7 客户端的相关文件拷贝到 DM_HOME 目录:
    scp -r dmdba@IP:/opt/app/dmdbms/bin/opt/app/dmdbms/scp -r dmdba@IP:/opt/app/dmdbms/include(opt/app/dmdbms/)
  • 安装命令:
    python setup.py install

  • 4. 配置环境变量

    dmPython 的运行依赖 DPI 动态库,需将 DPI 所在目录(如 DM 安装目录 下的 bin 目录)添加到系统环境变量中:

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

    5. 连接 DM7

    示例代码

    import dmPythonconn = dmPython.connect(    user='SYSDBA',    password='SYSDBA',    server='LOCALHOST',    port=5236)

    6. 查询测试

    cursor = conn.cursor()cursor.execute('select 1 from dual')values = cursor.fetchall()# 输出结果:[('1',)]

    7. 关闭连接和游标

    cursor.close()conn.close()

    注意事项

  • 完成安装后,可参考 DM7 安装目录 下的 doc/special 文件夹中的 `_dmPython文档》 进一步了解接口使用方法。
  • 部署多个服务器时,需确保所有服务器的环境配置一致,避免连接失败或功能异常。
  • 如有疑问,可在 技术支持 获取帮助。

    转载地址:http://lhxd.baihongyu.com/

    你可能感兴趣的文章
    python 接口自动化数据结构(如列表、字典、元组)
    查看>>
    Python 接口自动化测试中的深拷贝与浅拷贝~
    查看>>
    Python 接口自动化测试中的高阶函数
    查看>>
    python 控制 cmd 命令行颜色
    查看>>
    Python 操作 Azure Blob Storage
    查看>>
    Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
    查看>>
    Python 操作 JMeter 探索:pymeter 实操指南
    查看>>
    Python 操作 Redis
    查看>>
    Python 操作Mysql(PyMysql)
    查看>>
    Python 操作Redis
    查看>>
    Python 操作sqlite数据库及保存查询numpy类型数据(一)
    查看>>
    Python 操作sqlite数据库及保存查询numpy类型数据(二)
    查看>>
    Python 操作数据库
    查看>>
    Python 数据分析与可视化实战
    查看>>
    python 数据可视化 -- matplotlib02
    查看>>
    python 数据可视化利器
    查看>>
    Python 数据可视化详解
    查看>>
    python 数据库查询返回list或tuple
    查看>>
    Python 数据库连接池管理的基本知识 (附Demo)
    查看>>
    Python学习记录-2016-12-17
    查看>>