Welcome

首页 / 软件开发 / C++ / 用动态SQL方法4连接Oracle的实现(第1.0版)

用动态SQL方法4连接Oracle的实现(第1.0版)2008-04-20wujinglong摘要

动态SQL的第4种方法通过SQLDA(The SQL Descriptor Area)和oracle内部交换数据,可以执行直到程序运行时还不知道选择表项或虚拟输入宿主变量的个数和类型的SQL语句。

模块 oracle 的数据

jmp_bufjmp_continue 保存程序断点
FILE*ORAinstdin默认输入源
FILE*ORAoutstdout默认输出源
IntORAresult0错误标志
Char*Dml_commands[]数据操纵语句动词表
ORAqueryQuery 包装SQL执行过程
ORAqueryBasepQuery&query为外部提供接口

与外部的接口

  • ORAin,ORAout: 应用程序通过操纵这两个变量改变oracle模块的输入输出源。
  • ORAresult:oracle模块的执行结果(有待细分错误原因)。
  • ORAconnect(user,password),ORAdisconnect():与数据库建立与断开连接,必须在执行任何SQL语句前建立连接。
  • JMP_FOR_ERROR(label):如果oracle模块出现错误便转到标号label处继续执行,建立连接时出错除外。
  • ORAqueryBase* pQuery:见抽象类ORAqueryBase的说明。
抽象类 ORAqueryBase

返回数据类型方法名称参数描述
intsetint,int,int设置SQL描述区的大小
intAlloc 分配SQL描述区
intget_statement 从输入源读取SQL语句
intset_statement]const char*以字符串格式输入SQL语句
intexecute 执行准备好的SQL语句
intfree 释放SQL描述区

参考资料

《programmer""s Guide to the Oracle Precompilers》Release 1.8

《C++高级参考手册》