1,需求:
通过python脚本连接达梦数据,实现SQL查询数据自动化导出excel
2,python安装dmPython模块
https://eco.dameng.com/document/dm/zh-cn/pm/dmpython-installation.html
- 安装pip3 :
yum install -y python3-pip
2.1 在有达梦服务的主机安装dmPython
# 1, 配置环境变量: vim /etc/profile
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/data/common/dm8/bin"
export DM_HOME="/data/common/dm8"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/drivers/dpi/
# 2, 在有达梦服务的主机上安装dmPython
#D:\dmdbms\drivers\python\dmPython>python3 setup.py install
# 3, 如果是linux服务器,可以编译为rpm包,方便拷贝到其他服务器安装
[root@host1 dmPython]# yum install rpm-build -y
[root@host1 dmPython]# python3 setup.py bdist_rpm
[root@host1 dmPython]# ll dist/ |grep -v py27
总用量 832
-rw-r--r-- 1 root root 67168 1月 22 16:03 dmPython-2.5.5-8.1-py37-1.ky10.aarch64.rpm
-rw-r--r-- 1 root root 80574 1月 20 11:32 dmPython-2.5.5-py3.7-linux-aarch64.egg
2.1 在没有达梦服务的主机安装dmPython
复制以上的rpm包 或 egg包
# 4, 如果编译安装包有依赖问题,则可以直接使用build下面的包: dmPython-2.5.5-py3.7-linux-aarch64.egg
python3 -m easy_install ./dmPython-2.5.5-py3.7-linux-aarch64.egg
# 安装完成后,从达梦主机源端,拷贝达梦客户端-依赖库文件 $DM_HOME/bin/libdmdpi.so 到目标主机的指定目录,并配置环境变量
export LD_LIBRARY_PATH=/usr/local/dm8/lib:$LD_LIBRARY_PATH
#如果定时任务提示没有库文件,系统会默认扫描 /lib、/usr/lib及 /etc/ld.so.conf中定义的目录
ln -s /usr/local/dm8/lib/libdmdpi.so /usr/lib/libdmdpi.so
ldconfig #系统重新加载库文件
3,验证安装结果
#vim dmtest.py
import dmPython
conn=dmPython.connect(user='SYSDBA',password='123456',server= '192.168.56.11',port=5236)
cursor = conn.cursor()
cursor.execute('select username from dba_users') #select sysdate
values = cursor.fetchall()
print(values)
cursor.close()
conn.close()
4,离线安装pandas
- 先问ai找到依赖包版本:python3.7 离线安装pandas ,列出whl包版本和依赖包版本,然后通过https://pypi.org/下载对应版本

#1,安装pip3
sudo yum install python3-pip
python3 get-pip.py
#2,安装pandas(python3.7) https://pypi.org/project/pandas/1.3.5/; 依赖包:numpy, dateutil
pip3 install numpy-1.21.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl --no-index
pip3 install python_dateutil-2.8.2-py2.py3-none-any.whl --no-index
pip3 install pandas-1.3.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl --no-index

1680

被折叠的 条评论
为什么被折叠?



