经济论文 | 管理论文 | 法学论文 | 理学论文 | 工学论文 | 计算机论文 | 医药论文 | 文学论文 | 教育论文 | 艺术论文 | 哲学论文 | 文化论文 | 政治论文 | 英语论文 | 论文写作
 
 
最新刊物征稿清单
合作刊物总览
论文_论文发表
 
最新合作刊物
 
咨询与服务

咨询电话:
020-31801568
 
热门关键词
 
您当前位置:论文首页->免费论文库->计算机论文->计算机应用->正文(目前国内最大最全原创最多的免费论文中心)
客服QQ咨询: 点击这里给我发消息 客服QQ:7992817 点击这里给我发消息 客服QQ:932633
无忧论文,让您轻松写作,轻松发表,轻松晋级!联系电话:020-31801568
还在为职称而烦恼?到论文发表中心填写订单,其他的交给我们!
找不到合适的论文?可以到论文定制
中心由我们帮您解忧! 论文最低定制价只须800元!
 


Solaris下PRO*C和OCI程序设计分析与比较

作者: 整理:无忧论文网 录入时间:[08-03-11 12:31:35] 浏览点击数: 添加书签:
句是在运行时由外部数据提供的,不能直接在C程序中嵌入SQL 语句,但可以调用放在一个字符串变量里的SQL语句,最简单的方法是:EXEC SQL EXECUTE IMMEDIATE :szStmt1;但这样执行的SQL语句不能实现查询,实现查询可用下列方法:

  EXEC SQL PREPARE select_stmt FROM :szStmt2;

  EXEC SQL EXECUTE select_stmt INTO :szPassword;

  如果不再需要已准备好的语句,应释放:EXEC SQL DEALLOCATE PREPARE select_stmt;

  (5)提交或回滚所做的数据库处理,并退出数据库

  回滚:EXEC SQL ROLLBACK WORK RELEASE;

  提交:EXEC SQL COMMIT WORK RELEASE;

  注意语句中的RELEASE选项,它要求关闭所有打开的游标,之后断开与数据库服务器的连接。

  2.3生成可执行文件

  在Solaris平台下可通过命令方式对PRO*C源程序进行预编译,下列命令只列出了最常用的预编译选项:#proc iname=example.c INCLUDE=path CODE=ANSI_C MODE=ANSI CPP_SUFFIX=cc

  SQLCHECK=SEMANTICS USERID=username/password@DBname

  预编译后的example.cc文件就可以当作普通的C源文件来进行处理了。

  #gcc -o exampled –I. -I/oracle/product/8.1.7/precomp/public example.cc

  最终生成的exampled文件就是我们的可执行文件。 undefined undefined

  3 OCI程序设计

  OCI(Oracle Call Interface)是由头文件和库函数等组成的一套Oracle数据库应用程序编程接口工具,OCI程序实质上就是用高级语言写的程序,其特点是内部含有对OCI子函数库的调用。

  OCI程序对开发环境的要求相对较低,只要有C语言的OCI开发工具包和C编译器就可以,程序设计相比PRO*C复杂了点。

  3.1创建和初始化OCI环境

  首先要在源程序中包含OCI头文件:#include

  OCI环境即OCI函数的工作环境,在调用其他函数之前必须先调用OCIInitialize()和OCIEnvInit()函数创建和初始化OCI环境,其他OCI函数要在这个环境中才能执行。

  先定义变量:OCIEnv **m_envhp;

  OCIError *m_errhp;

  OCIServer *m_srvhp;

  OCISvcCtx *m_svchp;

  OCIStmt *m_stmthp;

  OCIInitialize((ub4) OCI_DEFAULT, (dvoid *)0, (dvoid * (*)(dvoid *, size_t)) 0,

  (dvoid * (*)(dvoid *, dvoid *, size_t))0, (void (*)(dvoid *, dvoid *)) 0 );

  OCIEnvInit((OCIEnv **)&m_envhp, OCI_DEFAULT, (size_t) 0, (dvoid **) 0 );

  其中m_envhp为输出参数,是一个指向OCI环境句柄的指针,OCI_DEFAULT 是OCI环境的初始化模式。OCIEnvInit()函数中的size_t类型变量为分配给用户的内存数量,dvoid **类型变量指向用户的内存区域,该区域的大小等于size_t类型变量。

  OCI函数中,大量使用OCI定义的数据类型和宏,其定义可参考$ORACLE_HOME/rdbms/demo目录下的oci.h头文件。

  3.2申请句柄

  句柄是指向OCI库所分配的内存区域的指针,该内存区域中的数据由OCI库维护,应用程序可通过句柄访问其中的数据。下面是应用程序中最常用的几个句柄:

  OCIHandleAlloc( (dvoid *)m_envhp, (dvoid **)&m_errhp, OCI_HTYPE_ERROR,

  (size_t) 0, (dvoid **) 0);

  OCIHandleAlloc( (dvoid *)m_envhp, (dvoid **)&m_srvhp, OCI_HTYPE_SERVER,

  (size_t) 0, (dvoid **) 0);

  OCIHandleAlloc( (dvoid *)m_envhp, (dvoid **)&m_svchp, OCI_HTYPE_SVCCTX,

  (size_t) 0, (dvoid **) 0);

  OCIHandleAlloc( (dvoid *)m_envhp, (dvoid **)&m_stmthp, OCI_HTYPE_STMT,

  

9 7 3 1 2 3 4 4 8 :
·上一篇文章:消防部队军事训练中的政治工作面临的挑战与对策
·下一篇文章:加快基础测绘步伐,构建数字武汉空间数据基础框架
论文首页】【打印本文】【回到顶部
复制本文地址发送给您的QQ好友:
版权声明:《Solaris下PRO*C和OCI程序设计分析与比较》论文版权属于作者本人,您可以参考本论文进行论文创作,但不得抄袭、复制!如果您引用部分内容,请您在参考文献中标注!全部论文收录于无忧论文网免费论文库,转载本站论文资料请注明出处!
最新更新
 
热门新闻

关于我们 | 无忧博客 | 无忧翻译 | 友情链接 | 版权声明 | 广告服务 | 联系我们 | 收藏本站| 人才招聘 | 网站地图
服务电话:020-31801568 (6线) 服务QQ:7992817 9326332 (工作时间:周一至周六 9:00-21:00)
Copyright 2002-2008, 版权所有 WYPAPER.COM 无忧论文免费论文 论文发表 通信管理局粤ICP备08009814号 迅雷统计