博客
关于我
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/

    你可能感兴趣的文章
    OpenStack自动化安装部署实战(附OpenStack实验环境)
    查看>>
    openstack虚拟机迁移live-migration中libvirt配置
    查看>>
    OpenStack项目管理实战
    查看>>
    OpenStreetMap初探(一)——了解OpenStreetMap
    查看>>
    openSUSE 13.1 Milestone 2 发布
    查看>>
    openSUSE推出独立 GUI 包管理工具:YQPkg,简化了整个软件包管理流程
    查看>>
    OpenVP共用账号 一个账号多台电脑登录
    查看>>
    OpenVSwtich(OVS)Vlan间路由实战 附实验环境
    查看>>
    Openwrt LuCI模块练习详细步骤
    查看>>
    openwrt_git_pull命令提示merger冲突时如何解决?
    查看>>
    OpenWrt包管理软件opkg的使用(极路由)
    查看>>
    OpenWrt固件编译刷机完全总结
    查看>>
    Open××× for Linux搭建之二
    查看>>
    Open×××有线网络时使用正常,无线网络时使用报错的解决方案
    查看>>
    Opera Mobile Classic Emulator
    查看>>
    Operation not supported on read-only collection 的解决方法 - [Windows Phone开发技巧系列1]
    查看>>
    OperationResult
    查看>>
    Operations Manager 2007 R2系列之仪表板(多)视图
    查看>>
    operator new and delete
    查看>>
    operator new 与 operator delete
    查看>>