用动态SQL方法4连接 Oracle 的实现(第1.0版)
2006-07-23 11:18:13 来源:WEB开发网核心提示:本文示例源代码或素材下载 摘要动态SQL的第4种方法通过SQLDA(The SQL Descriptor Area)和oracle内部交换数据,可以执行直到程序运行时还不知道选择表项或虚拟输入宿主变量的个数和类型的SQL语句,用动态SQL方法4连接 Oracle 的实现(第1.0版),模块 oracle 的数据
本文示例源代码或素材下载
摘要
动态SQL的第4种方法通过SQLDA(The SQL Descriptor Area)和oracle内部交换数据,可以执行直到程序运行时还不知道选择表项或虚拟输入宿主变量的个数和类型的SQL语句。
模块 oracle 的数据
jmp_buf | jmp_continue | 保存程序断点 | |
FILE* | ORAin | stdin | 默认输入源 |
FILE* | ORAout | stdout | 默认输出源 |
Int | ORAresult | 0 | 错误标志 |
Char* | Dml_commands[] | 略 | 数据操纵语句动词表 |
ORAquery | Query | 包装SQL执行过程 | |
ORAqueryBase | pQuery | &query | 为外部提供接口 |
与外部的接口
- ORAin,ORAout: 应用程序通过操纵这两个变量改变oracle模块的输入输出源。
- ORAresult:oracle模块的执行结果(有待细分错误原因)。
- ORAconnect(user,password),ORAdisconnect():与数据库建立与断开连接,必须在执行任何SQL语句前建立连接。
- JMP_FOR_ERROR(label):如果oracle模块出现错误便转到标号label处继续执行,建立连接时出错除外。
- ORAqueryBase* pQuery:见抽象类ORAqueryBase的说明。
抽象类 ORAqueryBase
返回数据类型 | 方法名称 | 参数 | 描述 |
int | set | int,int,int | 设置SQL描述区的大小 |
int | Alloc | 分配SQL描述区 | |
int | get_statement | 从输入源读取SQL语句 | |
int | set_statement] | const char* | 以字符串格式输入SQL语句 |
int | execute | 执行准备好的SQL语句 | |
int | free | 释放SQL描述区 |
参考资料
《programmer''s Guide to the Oracle Precompilers》Release 1.8
《C++高级参考手册》
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
赞助商链接