- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语⾔DCI (OCI)⽅式连接DM数据库
C语⾔DCI (OCI)⽅式连接DM数据库
⼀、背景
近期⽤户使⽤DCI的⽅式连接达梦数据库出现中⽂乱 的问题,所以决定写⼀个测试Demo。
需要说明的是,本⼈⾮开发⼈员,所以在C++代 编写思路或者使⽤⽅式上难免有些低级操作,调试中也是参考了⽹上很多朋友发的帖⼦,
如有错误或者修改建议,欢迎指正。谢谢 !
环境
操作系统 :Window 10
数据库版本 :Dm8
开发⼯具 :Visual Studio 20 17
DCI的库 :在资料中,整篇⽂章⽤的是解压后的dmoci⽬录的⽂件
注意 :DM8相对较⽼的⼀些版本在安装数据库以后就可以在 “安装 ⽬录/drivers”下看到dci、oci⽬录,但是新版本已经将oci单独打包,
名字为xxxx_dmdci.zip (资料⽹盘已提供,本章⽤的是压缩包中dmoci⽬录的库),内有oci和occi所需的头⽂件和库⽂件。数据库的
drivers ⽬录仍然保留有dci⽬录与库⽂件。需要oci相关⽂件的朋友需要注意⼀下这⾥。准确来说本次的⽂章应该是OCI的⽅式来连接,所以
⽂章中的所有dci可以统称为oci。
⼆、数据库的测试SQL
把sql装载到库⾥
DROP TABLE SYSDBA.PERSON CASCADE;
CREAT E TABLE SYSDBA.PERSON
(
PERSONID INT IDENT ITY(1,1) NOT NULL,
SEX CHAR(1) NOT NULL,
NAME VARCHAR(50) NOT NULL,
EMAIL VARCHAR(50) NULL,
PHONE VARCHAR(25) NULL,
CLUST ER PRIMARY KEY(PERSONID) ENABLE
) ;
SET IDENT ITY INSERT SYSDBA.PERSON ON;
INSERT INTO SYSDBA.PERSON(PERSONID,SEX,NAME,EMAIL,PHONE) VALUES(1,F,李丽,lily@,02788548562) ;
INSERT INTO SYSDBA.PERSON(PERSONID,SEX,NAME,EMAIL,PHONE) VALUES(2,M,王刚,,02787584562) ;
INSERT INTO SYSDBA.PERSON(PERSONID,SEX,NAME,EMAIL,PHONE) VALUES(3,M,李勇,,02782585462) ;
INSERT INTO SYSDBA.PERSON(PERSONID,SEX,NAME,EMAIL,PHONE) VALUES(4,F,郭艳,,02787785462) ;
INSERT INTO SYSDBA.PERSON(PERSONID,SEX,NAME,EMAIL,PHONE) VALUES(5,F,孙丽, ;
SET IDENT ITY INSERT SYSDBA.PERSON OFF;
COMMIT ;
三、新建项 ⽬
1. 新建项 ⽬
2. 新建源⽂件并新建⼀个demo.cpp的⽂件
/ ************************************************************************/
/ * DCI编程实例 (较DCI⼿册⽰例有改动) */
/ ************************************************************************/
#include stdio.h
#include string.h
#include stdlib.h
#include malloc.h
#include DCI.h
// 声明句柄
// 声明句柄
DCIEnv* envhp; / * 环境句柄 */
DCISvcCtx* svchp; / * 服务环境句柄 */
DCIServer* srvhp; / * 服务器句柄 */
DCISession* authp; / * 会话句柄 */
DCIStmt* stmthp; / * 语句句柄 */
DCIDescribe* dschp; / * 描述句柄 */
DCIError* errh
文档评论(0)