c语言oci怎么读取lob数据

c语言oci怎么读取lob数据,第1张

用oracle自身的DBMS_LOB包。下面是简单介绍,你可以再找些相关资料来看。 在ORACLE数据库中,LOB(Large Objects —— 大对象)是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储可多达4GB的数据)。

一、 定义并初始化所需各变量

envhp、srvhp、errhp、svchp、authp、hndlp、stmthp、等等

二、连接数据库

1、 OCIInitialize。初始化OCI程序环境

2、OCIEnvInit。 初始化OCI环境句柄

3、 OCIHandleAlloc。分配各句柄,需要分配的句柄类型如下:

OCI_HTYPE_SVCCTX,

OCI_HTYPE_ERROR,

OCI_HTYPE_SESSION,

OCI_HTYPE_SERVER,

4、 OCIServerAttach。指定资料源路径

5、 OCIAttrSet。设置各项参数。需要设置的参数类型如下:

OCI_ATTR_SERVER 使用的句柄型为OOCI_HTYPE_SVCCTX

OCI_ATTR_USERNAME

OCI_ATTR_PASSWORD

上面两个参数使用的句柄类型为OCI_HTYPE_SESSION

6、 OCISessionBegin。创建并开始会话

7、 OCIAttrSet。设置会话参数类型OCI_ATTR_SESSION,使用句柄为OCI_HTYPE_SVCCTX

8、 OCIHandleAlloc。分配OCI_HTYPE_STMT型陈述句柄

三、 *** 作数据库

1、OCIStmtPrepare。准备事件处理

2、OCIBindByPos、OCIBindByName(OCIDefineByPos)绑定(定义)变量。如果是多行资料,则需要使用

OCIBindArrayOfStruct(OCIDefineArrayOfStruct)函数来绑定(定义)存放该数据的数组

3、OCIStmtExecute。执行SQL语句

4、OCITransCommit(OCITransRollback)。提交(回滚)当前事务

四、断开数据库

1、OCISessionEnd。结束会话

2、OCIServerDetach。断开与服务器的连接

3、OCIHandleFree。释放已分配的各句柄。需要释放的句柄如下:

OCI_HTYPE_SVCCTX,

OCI_HTYPE_ERROR,

OCI_HTYPE_SESSION,

OCI_HTYPE_SERVER,

OCI_HTYPE_STMT

OCI_HTYPE_ENV

五、提取出错描述信息

1、OCIErrorGet。上述各函数若执行失败,都可以使用该函数来提取出错信息的ORCALE描述。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9738188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存