otl数据库访问技术

otl数据库访问技术

ID:11526561

大小:585.00 KB

页数:38页

时间:2018-07-12

otl数据库访问技术_第1页
otl数据库访问技术_第2页
otl数据库访问技术_第3页
otl数据库访问技术_第4页
otl数据库访问技术_第5页
资源描述:

《otl数据库访问技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OTL数据库访问技术北京神州数码思特奇信息技术股份有限公司研究院OTL应用开发OTL介绍OTL“流”的概念OTL的主要类OTL的使用OTL的编译OTL参考资料OTL介绍什么是OTL:OTL是Oracle,OdbcandDB2-CLITemplateLibrary的缩写,是一个操控关系数据库的C++模板库,它目前几乎支持所有的当前各种主流数据库,如下表所示:数据库访问接口支持版本OracleOCIOCI7、OCI8、OCI8i、OCI9i、OCI10gDB2CLIDB2CLIMSSQLServer、Sybase、Informix、MySQL、Interbase/Fire

2、bird、PostgreSQL、SQLite、SAP/DB、TimesTen、MSACCESSODBCODBC2.5、ODBC3.x备注:Oracle和DB2也可以由OTL间接使用ODBC的方式来进行操纵OTL的特点:优点(1).跨平台(2).运行效率高,与C语言直接调用数据库API相当(3).开发效率高,使用方便,繁在其内,简在其外,比ADO.net使用起来更简单,更简洁(4).部署容易,不需要ADO组件,不需要.netframework等缺点(1).只能在C++中使用OTL介绍OTL“流”的概念任何SQL语句,PL/SQL块的调用或者是存储过程调用都可以用“流”的

3、input/output[变量]来表现。使用SQL语句、PL/SQL块或者是存储过程调用,都可以看作是带输入输出流的黑盒。你可以不关心黑盒的内部工作(只需要依据黑盒的定义)。需要关注的是黑盒的输入输出线。OTL“流”的概念Example1.SELECT语句有用于WHERE子句的标量input变量。SELECT语句同时定义了输出列.潜在的输出列是矢量参数,因为SELECT语句可能返回多行。Example2.INSERT语句往表中写数据,即它有输入参数,其输入参数是标量.UPDATE语句亦是如此。Example3.DELETE从表中删除行,如需要输入删除条件,DELETE

4、语句需有输入参数,其输入参数是标量。Example4.存储过程可能含有input和(或)output参数。通常存储过程的参数是标量。有一个特例:存储过程返回一个游标(cursor)(ORACLE)或者是结果集(MSSQL、Sybase),此时output参数是矢量。Example5.任意一个PL/SQL块都可能有标量的输入或矢量的输出参数。OTL“流”的概念OTL“流”是缓存流从概念上讲,OTL“流”有两个独立的缓存:输入和输出。输入缓存由所有的输入变量共同组成。同样的,输出缓存由所有的输出变量共同组成。OTL“流”的操作(1).OTL“流”的操作与C++流一样,通过

5、操作符“<<”和“>>”来进行操作,流的引用在操作符的左边。s>>variable;s<>--从流到数据容器(变量)<<--从数据容器(变量)到流(2).OTL流需要用到OTL异常。即任何OTL流都潜在的会抛otl_exception类型的异常。为了截获异常并防止程序中断,请用相应try&catch块包装OTL代码段。OTL的主要类主要类包括:otl_stream,otl_connect,otl_exceptionotl_stream类otl_stream类是OTL“流”的概念的具体表现形式,任何通过输入/输出参数

6、使用SQL语句、PL/SQL块或者是存储过程调用,在C++的编程中都能通过otl_stream类来实现。其构造函数为:(1)forOracle7/8/9/10:otl_stream(constintarr_size,//流的缓存大小constchar*sqlstm,//SQL语句或PL/SQL块或存储过程otl_connect&db,//OTL数据库连接对象constchar*ref_cur_placeholder=0,//游标引用占位符名称constchar*sqlstm_label=0//SQL语句标签);OTL的主要类(2)forODBC/DB2-CLI:otl

7、_stream(constintarr_size,//流的缓存大小constchar*sqlstm,//SQL语句或PL/SQL块或存储过程otl_connect&db,//OTL数据库连接对象constintimplicit_select=otl_explicit_select,constchar*sqlstm_label=0//SQL语句标签);otl_connect类otl_connect类封装了一系列有关数据库连接的功能:建立连接、断开连接、事务提交、事务回滚等等。换言之,otl_connect是在C++编程中创建和使用数据库连接以及进行数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。