OTL数据库访问技术.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OTL数据库访问技术

OTL “流”的概念 Example 1. SELECT语句有用于WHERE子句的标量input变量。SELECT 语句同时定义了输出列. 潜在的输出列是矢量参数,因为SELECT语句可能返回多行。 Example 2. INSERT语句往表中写数据, 即它有输入参数,其输入参数是标量. UPDATE 语句亦是如此。 Example 3. DELETE 从表中删除行,如需要输入删除条件,DELETE语句需有输入参数,其输入参数是标量。 Example 4. 存储过程可能含有input和(或)output参数。通常存储过程的参数是标量。有一个特例:存储过程返回一个游标(cursor)(ORACLE)或者是结果集(MSSQL、Sybase),此时output参数是矢量。 Example 5. 任意一个PL/SQL块都可能有标量的输入或矢量的输出参数。 OTL “流”的概念 OTL“流”是缓存流 从概念上讲,OTL“流”有两个独立的缓存:输入和输出。输入缓存由所有的输入变量共同组成。同样的,输出缓存由所有的输出变量共同组成。 OTL“流”的操作 (1). OTL“流”的操作与C++流一样,通过操作符“”和“”来进行操作, 流的引用在操作符的左边。 s variable; s variable; 两个箭头符号表示了数据流动方向: - - 从流到数据容器(变量) - - 从数据容器(变量)到流 (2). OTL流需要用到OTL异常。即任何OTL流都潜在的会抛 otl_exception 类型的异常。为了截获异常并防止程序中断,请用 相应try catch 块包装OTL代码段。 OTL的主要类 (2)for ODBC/DB2-CLI: otl_stream ( const int arr_size, // 流的缓存大小 const char* sqlstm, // SQL语句或PL/SQL块或存储过程 otl_connect db, // OTL数据库连接对象 const int implicit_select = otl_explicit_select , const char* sqlstm_label=0 //SQL 语句标签 ); otl_connect类 otl_connect类封装了一系列有关数据库连接的功能:建立连接、断开连接、事务提交、事务回滚等等。换言之,otl_connect是在C++编程中创建和使用数据库连接以及进行数据库事务管理的类,主要方法有: (1) static int otl_initialize(const int threaded_mode=0); 该静态方法的主要功能是初始化OTL数据库环境,程序中第一次建立与数据库的连接之前,必须调用该方法一次,其后再建立与数据库的连接,就不需要调用该方法了。 如果程序是在多线程环境下访问数据库,参数threaded_mode需置为1。 另外在多线程环境下访问数据库,不要多个线程操作同一个otl_connect对象 ,除非该ot_connect对象有互斥锁机制。 OTL的主要类 (2) void rlogon(const char* connect_str, const int auto_commit=0); 该方法的主要功能是建立与数据库的连接。 参数connect_str是数据库连接配置字符串,有两种表达形式 A. OTL4.0/OCIx ■ ”USER/PASSWORD”(本地数据库) ■ ”USER/PASSWORD@TNS_ALIAS”(远程数据库) B. OTL4.0/ODBC和OTL4.0/DB2_CLI ■ ”USER/PASSWORD@DSN” ■ ”DSN=value;UID=value;PWD=value” 参数auto_commit设置数据库事务的提交模式,auto_commit设置为1,表 示数 据库事务自动提交;auto_commit设置为0,表示数据库事务非自动提 交,auto_commit

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档