应用程序使用 DPI 访问数据库,可以按照以下几个基本步骤进行:
1. 调用函数 dpi_alloc_env 申请环境句柄。(通过 dpi_set_env_attr 和 dpi_get_env_attr
可以设置和获取环境句柄属性)。
2. 调用函数 dpi_alloc_con 申请连接句柄(通过 dpi_set_con_attr 和 dpi_get_con_attr 可
以设置和获取连接句柄属性)。
4. 调用函数 dpi_alloc_stmt 申请语句句柄(通过 dpi_set_stmt_attr 和 dpi_get_stmt_attr
可以设置和获取语句句柄属性)。
5. 调用函数 dpi_exec_direct 直接执行 SQL 语句(也可以通过 dpi_prepare 准备语句,
然后通过 dpi_bind_param 绑定参数,再通过 dpi_exec 来执行带参数的 sql 语句; 还
可以通过 dpi_fetch 或 dpi_fetch_scroll 来获取查询的结果集数据)。
6. 调用函数 dpi_free_stmt 释放申请的语句句柄。
7. 调用函数 dpi_logout 断开应用程序与数据源之间的连接。
8. 调用函数 dpi_free_con 释放申请的连接句柄。
9. 调用函数 dpi_free_env 释放申请的环境句柄。
程序在编译的过程中需要用到 DM 的头文件 DPI.h、DPIext.h、DPItypes.h,在连接阶段
需要用到 dmdpi.lib 这个库文件,在执行阶段需要用到动态库 dmdpi.dll 以及 dmcalc.dll、
dmcomm.dll、dmcyt.dll、dmclientlex.dll、dmcvt.dll、dmelog.dll、dmmem.dll、dmmsg.dll、dmos.dll、
dmutl.dll。这几个动态库在安装 DM 时,已经被放到安装目录下。
另外,当使用 64 位的 DPI 接口时,需要添加 DM64 的宏,即在程序编译时添加“-DDM64”
编译参数。
评论