D:\dmdba\drivers\python\dmPython
复制
上面是安装后的路径
python setup.py build
python setup.py install
复制
执行编译安装需要C++的依赖库
可以使用集成的编译环境
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
>>>
>>>
复制
以上,后续还有别的问题再继续分享
文章
阅读量
获赞