专栏/培训园地/ 文章详情 /

dmpython的应用

NerdRage 2024/06/27 809 3 0
摘要

配置dmpython

1·需要在本地下载dm8获取编译依赖文件

D:\dmdba\drivers\python\dmPython

复制

上面是安装后的路径

python setup.py build
python setup.py install

复制

执行编译安装需要C++的依赖库

可以使用集成的编译环境

2·复制依赖包

D:\SOFT\dm8_20210719_x86_win_64_ent_8.1.2.38_pack2\source\drivers\dpi

复制

dpi下面的dll文件已经前面编译生成的文件,复制拷贝到python的引用依赖文件路径下

PS D:\dmdba\drivers\python\dmPython> python Python 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import dmPython >>>

复制

简单的验证脚本

import dmPython from dmPython import Connection from dmPython import DictCursor properties = { 'user': 'SYSDBA', 'password': 'SYSDBA', 'server': '192.168.20.126', 'port': 32141, 'autoCommit': True, 'cursorclass': DictCursor } conn = Connection(**properties) # print(conn.current_schema) cursor = conn.cursor() # print(conn.current_schema) # 默认模式名是:SYSDBA cursor.execute('select * from "NY_HESUAN"."YXJL"') res = cursor.fetchall() for i in res: print(i)

复制

建议是在应用服务器上也安装dm8,但不用实例化数据库。

挂载镜像使用时直接将/dm8映射到容器内部,不然在容器中使用pip安装会提示没有.so文件

root@22009c7e4ec5:/# python
Python 3.9.18 (main, Nov 1 2023, 14:29:07)
[GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import dmPython
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: libdmdpi.so: cannot open shared object file: No such file or directory

遇上这种情况直接

root@22009c7e4ec5:/# cd /home/dm8
root@22009c7e4ec5:/home/dm8# source profile 
root@22009c7e4ec5:/home/dm8# cat profile 
export DM_HOME=/home/dm8
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/dm8/drivers/dpi

root@22009c7e4ec5:/home/dm8# python 
Python 3.9.18 (main, Nov  1 2023, 14:29:07) 
[GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import dmPython
>>> 
>>>

复制

以上,后续还有别的问题再继续分享

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服