一、简述

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,)]
>>>

在这里插入图片描述


四、归纳总结

  1. 建议数据库软件包中自带的dmPython源包,减少摸不着头脑的错误。
  2. 编译安装时,它会探测数据库软件目录,最好提前设置好DM_HOME环境变量。
  3. 如果在Linux环境中,python是通过yum源安装的,此时记得检查下python-devel开发包是否已安装完毕。
  4. dmPython依赖于dpi库,所以Linux中LD_LIBRARY_PATH环境变量记得添上,Windows则拷贝到它默认的加载位置。

版权声明:本文为ai20110304原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/ai20110304/article/details/118539845