初级入门dmPython
一、简述
dmPython是达梦提供的依据Python DB API version 2.0中API使用规定而开发的数据库访问接口,可让Python应用程序能够对DM数据库进行存取访问。
dmPython底层实质是通过调用达梦DPI接口完成python模块扩展,因此DPI库在dmPython模块中核心部件(必备的)。
二、Linux环境安装dmPython
2.1 yum本地源安装python
yum install python python-devel
2.2 编译安装dmPython包
由于本人的数据库版本是1-1-126-20.09.04-126608-ENT,Python版本(2.7.5),尝试使用190版本的dmPython编译失败(猜测跟Python版本有关),因而建议使用随同数据库软件包自带的dmPython。又可能因126版本不自带dmPython包,到本公司官方网站搜索得到:https://download.dameng.com/eco/docs/python-126594-20201027.zip
下载地址: dmPython.
[root@dmdb ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg python.zip
Desktop Music Templates
dmhs_V3.1.3_dm8_rev90484_rh7_64_veri_20200426.bin Pictures Videos
Documents Public
Downloads python-126594-20201027.zip
[root@dmdb ~]# unzip python-126594-20201027.zip -d /home/dmdba/dmdbms/drivers
Archive: python-126594-20201027.zip
creating: /home/dmdba/dmdbms/drivers/python/
creating: /home/dmdba/dmdbms/drivers/python/dmPython_C/
creating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/Buffer.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/Buffer.h
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/Connection.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/Cursor.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/dmPython.vcxproj
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/dmPython.vcxproj.filters
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/dmPython.vcxproj.user
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/Environment.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/Error.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/Error.h
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/exBfile.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/exLob.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/exObject.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/py_Dameng.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/py_Dameng.h
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/README.txt
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/row.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/row.h
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/setup.py
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/strct.h
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/tObject.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/trc.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/trc.h
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/var.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/var_pub.h
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/vBfile.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/vCursor.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/vDateTime.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/vInterval.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/vLob.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/vlong.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/vNumber.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/vObject.c
inflating: /home/dmdba/dmdbms/drivers/python/dmPython_C/dmPython/vString.c
[root@dmdb ~]#
2.2.1 安装过程中产生的错误
错误一: root用户缺失DM_HOME环境变量
[root@dmdb python]# cd dmPython/
[root@dmdb dmPython]# python setup.py install
Traceback (most recent call last):
File "setup.py", line 97, in <module>
raise DistutilsSetupError(messageFormat % (userDmHome,DAMENG_VERSION))
distutils.errors.DistutilsSetupError: Dameng home (/opt/dmdbms) does not refer to an DM8.1 installation or dmdpi library missing.
错误一: 处理方法
[root@dmdb dmPython]# vim ~/.bash_profile
[root@dmdb dmPython]# . ~/.bash_profile
[root@dmdb dmPython]# cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export DMHS_HOME=/home/huser/dmhs
export DM_HOME=/home/dmdba/dmdbms
export LD_LIBRARY_PATH=/home/huser/dmhs/bin:$LD_LIBRARY_PATH:/home/dmdba/dmdbms/drivers/dpi
错误二: 缺失python-devel包
[root@dmdb dmPython]# python setup.py install
running install
running bdist_egg
running egg_info
creating dmPython.egg-info
writing dmPython.egg-info/PKG-INFO
writing top-level names to dmPython.egg-info/top_level.txt
writing dependency_links to dmPython.egg-info/dependency_links.txt
writing manifest file 'dmPython.egg-info/SOURCES.txt'
reading manifest file 'dmPython.egg-info/SOURCES.txt'
writing manifest file 'dmPython.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
building 'dmPython' extension
creating build
creating build/temp.linux-x86_64-2.7
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DDM64 -I/home/dmdba/dmdbms/include -I/usr/include/python2.7 -c py_Dameng.c -o build/temp.linux-x86_64-2.7/py_Dameng.o -DBUILD_VERSION=2.3
In file included from py_Dameng.c:3:0:
py_Dameng.h:8:20: fatal error: Python.h: No such file or directory
#include <Python.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
[root@dmdb dmPython]#
[root@dmdb dmPython]# rpm -qa |grep gcc
gcc-4.8.5-39.el7.x86_64
gcc-c++-4.8.5-39.el7.x86_64
gcc-gfortran-4.8.5-39.el7.x86_64
libgcc-4.8.5-39.el7.x86_64
[root@dmdb dmPython]# rpm -q gcc
gcc-4.8.5-39.el7.x86_64
[root@dmdb dmPython]#
错误二:处理方法
[root@dmdb yum.repos.d]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
[root@dmdb yum.repos.d]# vim /etc/resolv.conf
[root@dmdb yum.repos.d]# vim /etc/resolv.conf
[root@dmdb yum.repos.d]# ping www.baidu.com
PING www.a.shifen.com (183.232.231.174) 56(84) bytes of data.
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=1 ttl=55 time=36.0 ms
^C
--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 36.018/36.018/36.018/0.000 ms
[root@dmdb yum.repos.d]# yum install python-devel
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/2): extras/7/x86_64/primary_db | 242 kB 00:00:00
(2/2): updates/7/x86_64/primary_db | 8.8 MB 00:00:14
Resolving Dependencies
--> Running transaction check
---> Package python-devel.x86_64 0:2.7.5-90.el7 will be installed
--> Processing Dependency: python(x86-64) = 2.7.5-90.el7 for package: python-devel-2.7.5-90.el7.x86_64
--> Processing Dependency: python2-rpm-macros > 3-30 for package: python-devel-2.7.5-90.el7.x86_64
--> Processing Dependency: python-rpm-macros > 3-30 for package: python-devel-2.7.5-90.el7.x86_64
--> Running transaction check
---> Package python.x86_64 0:2.7.5-86.el7 will be updated
---> Package python.x86_64 0:2.7.5-90.el7 will be an update
--> Processing Dependency: python-libs(x86-64) = 2.7.5-90.el7 for package: python-2.7.5-90.el7.x86_64
---> Package python-rpm-macros.noarch 0:3-34.el7 will be installed
---> Package python2-rpm-macros.noarch 0:3-34.el7 will be installed
--> Running transaction check
---> Package python-libs.x86_64 0:2.7.5-86.el7 will be updated
---> Package python-libs.x86_64 0:2.7.5-90.el7 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================================
Package Arch Version Repository Size
==========================================================================================================
Installing:
python-devel x86_64 2.7.5-90.el7 updates 399 k
Installing for dependencies:
python-rpm-macros noarch 3-34.el7 base 9.1 k
python2-rpm-macros noarch 3-34.el7 base 8.1 k
Updating for dependencies:
python x86_64 2.7.5-90.el7 updates 96 k
python-libs x86_64 2.7.5-90.el7 updates 5.6 M
Transaction Summary
==========================================================================================================
Install 1 Package (+2 Dependent packages)
Upgrade ( 2 Dependent packages)
Total size: 6.1 M
Total download size: 512 k
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for updates
warning: /var/cache/yum/x86_64/7/updates/packages/python-2.7.5-90.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for python-2.7.5-90.el7.x86_64.rpm is not installed
(1/4): python-2.7.5-90.el7.x86_64.rpm | 96 kB 00:00:00
Public key for python-rpm-macros-3-34.el7.noarch.rpm is not installed
(2/4): python-rpm-macros-3-34.el7.noarch.rpm | 9.1 kB 00:00:00
(3/4): python2-rpm-macros-3-34.el7.noarch.rpm | 8.1 kB 00:00:00
(4/4): python-devel-2.7.5-90.el7.x86_64.rpm | 399 kB 00:00:00
----------------------------------------------------------------------------------------------------------
Total 614 kB/s | 512 kB 00:00:00
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Package : centos-release-7-7.1908.0.el7.centos.x86_64 (@anaconda)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : python-libs-2.7.5-90.el7.x86_64 1/7
Updating : python-2.7.5-90.el7.x86_64 2/7
Installing : python-rpm-macros-3-34.el7.noarch 3/7
Installing : python2-rpm-macros-3-34.el7.noarch 4/7
Installing : python-devel-2.7.5-90.el7.x86_64 5/7
Cleanup : python-2.7.5-86.el7.x86_64 6/7
Cleanup : python-libs-2.7.5-86.el7.x86_64 7/7
Verifying : python2-rpm-macros-3-34.el7.noarch 1/7
Verifying : python-libs-2.7.5-90.el7.x86_64 2/7
Verifying : python-devel-2.7.5-90.el7.x86_64 3/7
Verifying : python-2.7.5-90.el7.x86_64 4/7
Verifying : python-rpm-macros-3-34.el7.noarch 5/7
Verifying : python-libs-2.7.5-86.el7.x86_64 6/7
Verifying : python-2.7.5-86.el7.x86_64 7/7
Installed:
python-devel.x86_64 0:2.7.5-90.el7
Dependency Installed:
python-rpm-macros.noarch 0:3-34.el7 python2-rpm-macros.noarch 0:3-34.el7
Dependency Updated:
python.x86_64 0:2.7.5-90.el7 python-libs.x86_64 0:2.7.5-90.el7
Complete!
[root@dmdb yum.repos.d]#
错误三:未使用匹配126版本数据库的dmPython包
In file included from Connection.c:8:0:
trc.h:45:8: warning: extra tokens at end of #endif directive [enabled by default]
#endif #_DMPATHON_TRC_H
^
Connection.c:46:47: error: ‘DSQL_ATTR_UKEY_NAME’ undeclared here (not in a function)
static udint4 gc_attr_ukey_name = DSQL_ATTR_UKEY_NAME;
^
Connection.c:47:47: error: ‘DSQL_ATTR_UKEY_PIN’ undeclared here (not in a function)
static udint4 gc_attr_ukey_pin = DSQL_ATTR_UKEY_PIN;
^
Connection.c: In function ‘Connection_Debug_inner’:
Connection.c:276:5: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness [-Wpointer-sign]
sprintf(sql_txt, "SP_SET_PARA_VALUE(1, 'SVR_LOG', %d)", debug_type);
In file included from Connection.c:5:0:
Connection.c: At top level:
py_Dameng.h:216:1: warning: ‘PyDecimal_Check’ defined but not used [-Wunused-function]
PyDecimal_Check(
^
Connection.c:45:16: warning: ‘gc_attr_ssl_pwd’ defined but not used [-Wunused-variable]
static udint4 gc_attr_ssl_pwd = DSQL_ATTR_SSL_PWD;
^
Connection.c:46:21: warning: ‘gc_attr_ukey_name’ defined but not used [-Wunused-variable]
static udint4 gc_attr_ukey_name = DSQL_ATTR_UKEY_NAME;
^
Connection.c:47:21: warning: ‘gc_attr_ukey_pin’ defined but not used [-Wunused-variable]
static udint4 gc_attr_ukey_pin = DSQL_ATTR_UKEY_PIN;
^
Connection.c:50:16: warning: ‘gc_attr_trace’ defined but not used [-Wunused-variable]
static udint4 gc_attr_trace = DSQL_ATTR_TRACE;
^
Connection.c:51:16: warning: ‘gc_attr_trace_file’ defined but not used [-Wunused-variable]
static udint4 gc_attr_trace_file = DSQL_ATTR_TRACEFILE;
^
error: command 'gcc' failed with exit status 1
错误三:处理方法
# 换社区源码包编译通过python-126594-20201027.zip
creating build/lib.linux-x86_64-2.7
gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/py_Dameng.o build/temp.linux-x86_64-2.7/row.o build/temp.linux-x86_64-2.7/Cursor.o build/temp.linux-x86_64-2.7/Connection.o build/temp.linux-x86_64-2.7/Environment.o build/temp.linux-x86_64-2.7/Error.o build/temp.linux-x86_64-2.7/Buffer.o build/temp.linux-x86_64-2.7/exLob.o build/temp.linux-x86_64-2.7/exObject.o build/temp.linux-x86_64-2.7/tObject.o build/temp.linux-x86_64-2.7/var.o build/temp.linux-x86_64-2.7/vCursor.o build/temp.linux-x86_64-2.7/vDateTime.o build/temp.linux-x86_64-2.7/vInterval.o build/temp.linux-x86_64-2.7/vLob.o build/temp.linux-x86_64-2.7/vNumber.o build/temp.linux-x86_64-2.7/vObject.o build/temp.linux-x86_64-2.7/vString.o build/temp.linux-x86_64-2.7/vlong.o build/temp.linux-x86_64-2.7/exBfile.o build/temp.linux-x86_64-2.7/vBfile.o build/temp.linux-x86_64-2.7/trc.o -L/home/dmdba/dmdbms/bin -L/usr/lib64 -ldmdpi -lpython2.7 -o build/lib.linux-x86_64-2.7/dmPython.so
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
copying build/lib.linux-x86_64-2.7/dmPython.so -> build/bdist.linux-x86_64/egg
creating stub loader for dmPython.so
byte-compiling build/bdist.linux-x86_64/egg/dmPython.py to dmPython.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying dmPython.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying dmPython.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying dmPython.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying dmPython.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/dmPython-2.3-py2.7-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing dmPython-2.3-py2.7-linux-x86_64.egg
Copying dmPython-2.3-py2.7-linux-x86_64.egg to /usr/lib64/python2.7/site-packages
Adding dmPython 2.3 to easy-install.pth file
Installed /usr/lib64/python2.7/site-packages/dmPython-2.3-py2.7-linux-x86_64.egg
Processing dependencies for dmPython==2.3
Finished processing dependencies for dmPython==2.3
[root@dmdb dmPython]#
2.3 导入dmPython模块,测试数据库连接
[root@dmdb site-packages]# python
Python 2.7.5 (default, Nov 16 2020, 22:23:17)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import dmPython
>>> conn=dmPython.connect(user='SYSDBA',password='SYSDBA',server='192.168.0.120', port=5236)
>>> cursor=conn.cursor()
>>> cursor.execute("select sysdate||'帅帅来也' from dual")
<__builtin__.DmdbCursor on <dmPython.Connection to SYSDBA@192.168.0.120:5236>>
>>> result=cursor.fetchall()
>>> print(result)
[('2021-07-05 10:51:07\xe5\xb8\x85\xe5\xb8\x85\xe6\x9d\xa5\xe4\xb9\x9f',)]
>>> result
[('2021-07-05 10:51:07\xe5\xb8\x85\xe5\xb8\x85\xe6\x9d\xa5\xe4\xb9\x9f',)]
>>> cursor.close();
>>> conn.close();
三、Windows环境安装dmPython
3.1 安装python
TIPS: 一定记得添加PATH环境变量。
3.2 安装VC++ Builder生成器
下载器地址: https://docs.microsoft.com/visualstudio/install/install-visual-studio
3.3 WHL方式安装dmPython
TIPS:一定要记得先设置DM_HOME环境变量。
3.3.1 打包WHL
## 带warn警告可忽略
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython>python setup.py bdist_wheel
running bdist_wheel
running build
running build_ext
building 'dmPython' extension
creating build
creating build\temp.win-amd64-3.8
creating build\temp.win-amd64-3.8\Release
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcpy_Dameng.c /Fobuild\temp.win-amd64-3.8\Release\p
ION=2.3
py_Dameng.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcrow.c /Fobuild\temp.win-amd64-3.8\Release\row.obj
row.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcCursor.c /Fobuild\temp.win-amd64-3.8\Release\Curs
3
Cursor.c
Cursor.c(788): warning C4244: “函数”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
Cursor.c(964): warning C4244: “函数”: 从“ulength”转换到“udint4”,可能丢失数据
Cursor.c(1125): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Cursor.c(1246): warning C4090: “=”: 不同的“const”限定符
Cursor.c(1345): warning C4133: “=”: 从“PyObject *”到“udt_Variable *”的类型不兼容
Cursor.c(1376): warning C4244: “函数”: 从“Py_ssize_t”转换到“unsigned int”,可能丢失数据
Cursor.c(1390): warning C4244: “函数”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
Cursor.c(1396): warning C4133: “函数”: 从“udt_Variable *”到“PyObject *”的类型不兼容
Cursor.c(1402): warning C4244: “函数”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
Cursor.c(1495): warning C4133: “=”: 从“PyObject *”到“udt_Variable *”的类型不兼容
Cursor.c(1505): warning C4244: “函数”: 从“Py_ssize_t”转换到“unsigned int”,可能丢失数据
Cursor.c(1520): warning C4133: “函数”: 从“udt_Variable *”到“PyObject *”的类型不兼容
Cursor.c(2284): warning C4244: “函数”: 从“ulength”转换到“udint4”,可能丢失数据
Cursor.c(2329): warning C4244: “函数”: 从“ulength”转换到“udint4”,可能丢失数据
Cursor.c(2971): warning C4244: “=”: 从“Py_ssize_t”转换到“int”,可能丢失数据
Cursor.c(3002): warning C4244: “函数”: 从“ulength”转换到“unsigned int”,可能丢失数据
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcConnection.c /Fobuild\temp.win-amd64-3.8\Release\
RSION=2.3
Connection.c
Connection.c(143): warning C4090: “=”: 不同的“const”限定符
Connection.c(745): warning C4312: “类型强制转换”: 从“long”转换到更大的“dpointer”
Connection.c(1051): warning C4090: “=”: 不同的“const”限定符
Connection.c(1104): warning C4090: “=”: 不同的“const”限定符
Connection.c(1143): warning C4090: “=”: 不同的“const”限定符
Connection.c(1211): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1232): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1267): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1285): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1300): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1315): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1330): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1345): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1360): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1375): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1390): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1405): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1420): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1435): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcEnvironment.c /Fobuild\temp.win-amd64-3.8\Release
VERSION=2.3
Environment.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcError.c /Fobuild\temp.win-amd64-3.8\Release\Error
Error.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcBuffer.c /Fobuild\temp.win-amd64-3.8\Release\Buff
3
Buffer.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcexLob.c /Fobuild\temp.win-amd64-3.8\Release\exLob
exLob.c
exLob.c(227): warning C4244: “return”: 从“slength”转换到“int”,可能丢失数据
exLob.c(557): warning C4244: “函数”: 从“ulength”转换到“long”,可能丢失数据
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcexObject.c /Fobuild\temp.win-amd64-3.8\Release\ex
N=2.3
exObject.c
exObject.c(326): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(466): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(543): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(548): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(640): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(641): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(744): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(749): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(853): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(946): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(1152): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
exObject.c(1391): warning C4244: “函数”: 从“slength”转换到“udint4”,可能丢失数据
exObject.c(1406): warning C4244: “=”: 从“slength”转换到“udint4”,可能丢失数据
exObject.c(1650): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TctObject.c /Fobuild\temp.win-amd64-3.8\Release\tOb
2.3
tObject.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcvar.c /Fobuild\temp.win-amd64-3.8\Release\var.obj
var.c
var.c(546): warning C4244: “=”: 从“udint8”转换到“udint4”,可能丢失数据
var.c(568): warning C4244: “=”: 从“udint8”转换到“udint4”,可能丢失数据
var.c(1034): warning C4244: “=”: 从“slength”转换到“udint4”,可能丢失数据
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcvCursor.c /Fobuild\temp.win-amd64-3.8\Release\vCu
2.3
vCursor.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcvDateTime.c /Fobuild\temp.win-amd64-3.8\Release\v
ION=2.3
vDateTime.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcvInterval.c /Fobuild\temp.win-amd64-3.8\Release\v
ION=2.3
vInterval.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcvLob.c /Fobuild\temp.win-amd64-3.8\Release\vLob.o
vLob.c
vLob.c(234): warning C4244: “=”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
vLob.c(249): warning C4133: “函数”: 从“udint4 *”到“ulength *”的类型不兼容
vLob.c(310): warning C4133: “=”: 从“PyObject *”到“udt_ExternalLobVar *”的类型不兼容
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcvNumber.c /Fobuild\temp.win-amd64-3.8\Release\vNu
2.3
vNumber.c
vNumber.c(550): warning C4244: “=”: 从“Py_ssize_t”转换到“long”,可能丢失数据
vNumber.c(638): warning C4244: “函数”: 从“Py_ssize_t”转换到“unsigned int”,可能丢失数据
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcvObject.c /Fobuild\temp.win-amd64-3.8\Release\vOb
2.3
vObject.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcvString.c /Fobuild\temp.win-amd64-3.8\Release\vSt
2.3
vString.c
vString.c(409): warning C4244: “函数”: 从“Py_ssize_t”转换到“unsigned int”,可能丢失数据
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcvlong.c /Fobuild\temp.win-amd64-3.8\Release\vlong
vlong.c
vlong.c(255): warning C4244: “=”: 从“slength”转换到“udint4”,可能丢失数据
vlong.c(271): warning C4477: “fprintf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 4 拥有了类型“slength”
vlong.c(271): note: 请考虑在格式字符串中使用“%lld”
vlong.c(271): note: 请考虑在格式字符串中使用“%Id”
vlong.c(271): note: 请考虑在格式字符串中使用“%I64d”
vlong.c(276): warning C4244: “-=”: 从“slength”转换到“udint4”,可能丢失数据
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcexBfile.c /Fobuild\temp.win-amd64-3.8\Release\exB
2.3
exBfile.c
exBfile.c(266): warning C4244: “return”: 从“slength”转换到“int”,可能丢失数据
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /TcvBfile.c /Fobuild\temp.win-amd64-3.8\Release\vBfi
3
vBfile.c
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
iles\dmdbms\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" -ID:\profiles\VisualStudio\20
VC\14.29.30037\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows
41.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\inc
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tctrc.c /Fobuild\temp.win-amd64-3.8\Release\trc.obj
trc.c
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython\py_Dameng.h(249): warning C4996: 'sprintf': This function or v
nsider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython\py_Dameng.h(269): warning C4996: 'sprintf': This function or v
nsider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
trc.c(42): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable de
E_NO_WARNINGS. See online help for details.
trc.c(72): warning C4996: 'open': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name:
or details.
trc.c(82): warning C4996: 'close': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name
for details.
creating F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython\build\lib.win-amd64-3.8
D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\link.exe /nologo /INCREMENTAL:NO /LTCG /DL
ANIFESTUAC:NO /LIBPATH:D:\profiles\dmdbms\bin /LIBPATH:D:\profiles\dmdbms\include "/LIBPATH:C:\Program Files\Python38\libs" "
\Python38\PCbuild\amd64" /LIBPATH:D:\profiles\VisualStudio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\lib\x64 "/LIBPATH:C:\Pro
Kits\10\lib\10.0.19041.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64" dmdpi.lib /EXPOR
emp.win-amd64-3.8\Release\py_Dameng.obj build\temp.win-amd64-3.8\Release\row.obj build\temp.win-amd64-3.8\Release\Cursor.obj
Release\Connection.obj build\temp.win-amd64-3.8\Release\Environment.obj build\temp.win-amd64-3.8\Release\Error.obj build\temp
ffer.obj build\temp.win-amd64-3.8\Release\exLob.obj build\temp.win-amd64-3.8\Release\exObject.obj build\temp.win-amd64-3.8\Re
emp.win-amd64-3.8\Release\var.obj build\temp.win-amd64-3.8\Release\vCursor.obj build\temp.win-amd64-3.8\Release\vDateTime.obj
\Release\vInterval.obj build\temp.win-amd64-3.8\Release\vLob.obj build\temp.win-amd64-3.8\Release\vNumber.obj build\temp.win-
.obj build\temp.win-amd64-3.8\Release\vString.obj build\temp.win-amd64-3.8\Release\vlong.obj build\temp.win-amd64-3.8\Release
in-amd64-3.8\Release\vBfile.obj build\temp.win-amd64-3.8\Release\trc.obj /OUT:build\lib.win-amd64-3.8\dmPython.cp38-win_amd64
in-amd64-3.8\Release\dmPython.cp38-win_amd64.lib
正在创建库 build\temp.win-amd64-3.8\Release\dmPython.cp38-win_amd64.lib 和对象 build\temp.win-amd64-3.8\Release\dmPython.cp
正在生成代码
已完成代码的生成
installing to build\bdist.win-amd64\wheel
running install
running install_lib
creating build\bdist.win-amd64
creating build\bdist.win-amd64\wheel
copying build\lib.win-amd64-3.8\dmPython.cp38-win_amd64.pyd -> build\bdist.win-amd64\wheel\.
running install_egg_info
running egg_info
creating dmPython.egg-info
writing dmPython.egg-info\PKG-INFO
writing dependency_links to dmPython.egg-info\dependency_links.txt
writing top-level names to dmPython.egg-info\top_level.txt
writing manifest file 'dmPython.egg-info\SOURCES.txt'
reading manifest file 'dmPython.egg-info\SOURCES.txt'
writing manifest file 'dmPython.egg-info\SOURCES.txt'
Copying dmPython.egg-info to build\bdist.win-amd64\wheel\.\dmPython-2.3-py3.8.egg-info
running install_scripts
C:\Program Files\Python38\lib\site-packages\wheel\bdist_wheel.py:80: RuntimeWarning: Config variable 'Py_DEBUG' is unset, Pyt
ect
if get_flag('Py_DEBUG',
creating build\bdist.win-amd64\wheel\dmPython-2.3.dist-info\WHEEL
creating 'dist\dmPython-2.3-cp38-cp38-win_amd64.whl' and adding 'build\bdist.win-amd64\wheel' to it
adding 'dmPython.cp38-win_amd64.pyd'
adding 'dmPython-2.3.dist-info/METADATA'
adding 'dmPython-2.3.dist-info/WHEEL'
adding 'dmPython-2.3.dist-info/top_level.txt'
adding 'dmPython-2.3.dist-info/RECORD'
removing build\bdist.win-amd64\wheel
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython>pip list
Package Version
---------- -------
pip 19.2.3
setuptools 41.2.0
wheel 0.36.2
WARNING: You are using pip version 19.2.3, however version 21.1.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython>
3.3.2 导入dmPython的WHL包
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython>pip install dmPython-2.3-cp38-cp38-win_amd64.whl
WARNING: Requirement 'dmPython-2.3-cp38-cp38-win_amd64.whl' looks like a filename, but the file does not exist
Processing f:\达梦\soft\python-126594-20201027\python\dmpython_c\dmpython\dmpython-2.3-cp38-cp38-win_amd64.whl
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'F:\\达梦\\soft\\python-126594
Python_C\\dmPython\\dmPython-2.3-cp38-cp38-win_amd64.whl'
WARNING: You are using pip version 19.2.3, however version 21.1.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython>cd dist
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython\dist>pip install dmPython-2.3-cp38-cp38-win_amd64.whl
Processing f:\达梦\soft\python-126594-20201027\python\dmpython_c\dmpython\dist\dmpython-2.3-cp38-cp38-win_amd64.whl
Installing collected packages: dmPython
Successfully installed dmPython-2.3
WARNING: You are using pip version 19.2.3, however version 21.1.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython\dist>pip list
Package Version
---------- -------
dmPython 2.3 --->说明导入安装成功
pip 19.2.3
setuptools 41.2.0
wheel 0.36.2
WARNING: You are using pip version 19.2.3, however version 21.1.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython\dist>
错误一:未加载到DPI库
F:\达梦\soft\python-126594-20201027\python\dmPython_C\dmPython\dist>python
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import dmPython
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed while importing dmPython: 找不到指定的模块。
>>> exit
Use exit() or Ctrl-Z plus Return to exit
>>> quit
Use quit() or Ctrl-Z plus Return to exit
>>> quit();
错误一:处理方法
3.4 测试dmPython接口简单操作
F:\>python
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import dmPython
>>> conn=dmPython.connect(user='SYSDBA',password='SYSDBA',server='192.168.0.120', port=5236)
>>> cursor=conn.cursor()
>>> result=cursor.execute('select 1+2');
>>> result
<builtins.DmdbCursor on <dmPython.Connection to SYSDBA@192.168.0.120:5236>>
>>> result=cursor.fetchall()
>>> result
[(3,)]
>>> cursor.close()
>>> conn.close()
>>> result
[(3,)]
>>>
四、归纳总结
- 建议数据库软件包中自带的dmPython源包,减少摸不着头脑的错误。
- 编译安装时,它会探测数据库软件目录,最好提前设置好DM_HOME环境变量。
- 如果在Linux环境中,python是通过yum源安装的,此时记得检查下python-devel开发包是否已安装完毕。
- dmPython依赖于dpi库,所以Linux中LD_LIBRARY_PATH环境变量记得添上,Windows则拷贝到它默认的加载位置。
版权声明:本文为ai20110304原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。