为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:win10
【CPU】:Intel i7-9700K
【问题描述】*:
http://eco.dameng.com/docs/zh-cn/app-dev/c_c++_dpi.html
复制 “DPI接口”中 “数据库连接示例" 代码在VS2017中编译通过。链接正常。运行时在 dpi_login 函数登陆时失败, 错误描述信息为"加密模块加载失败 "
通过在已经安装dm8的虚拟机环境。将相关的依赖库及头文件赋值到,开发环境中。并且已将依赖库所在的目录加入到windows中的path环境变量中。编译运行程序报错。如上描述。
SELECT * FROM V$DM_INI WHERE PARA_NAME=‘ENABLE_ENCRYPT’;看下数据库这个参数值多少
这个是因为你拷贝的动态库缺少第三方依赖导致的,建议您将dmdbms/bin目录也加到环境变量中即可。

工程链接的库有dmdpi.lib dmdpi.dll
该库的依赖库如下也一并拷贝在同一目录。
dmcalc.dll dmcomm.dll dmcyt.dll dmmem.dll dmos.dll dmcfg.dll dmcpr.dll dmdcr.dll dmdta.dll dmmout.dll dmstrt.dll dmclientlex.dll dmcvt.dll dmelog.dll dmmsg.dll dmutl.dll