网站大量收购独家精品文档,联系QQ:2885784924

OTL编程简介.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OTL 编程简介 功能 OTL是Oracle 和 ODBC 的模板库,它屏蔽数据库操作的底层,提供数据库连接功能,以标准 C++ 流的方式完成嵌入式 SQL 语句、存储过程的执行和光标操作。 otl_connect 类 提供数据库连接、事务操作的功能。 (SHBOSS开发中,由 CDBConnGuard 类屏蔽之并进行连接等管理。) 主要成员函数: int connected; // 是否已经连接到数据库 static int otl_initialize(const int threaded_mode=0); // 初始化 OTL 环境,必须在调用 OTL API 之前被调用;threaded_mode=1表示运行在多线程环境 void set_max_long_size(const int amax_size); // 设置缓冲区大小(仅对大数据字段适用) otl_connect(const char* connect_str,const int auto_commit=0); // connect_str的格式:USER/PASSWORD@TNS_ALIAS,如果是本地连接则不需要TNS_ALIAS void rlogon(const char* connect_str,const int auto_commit=0); void logoff(); void server_attach(const char* tnsname=0); // OTL/OCI8 only void server_detach();// OTL/OCI8 only session_begin(const char* username, const char* password, const int auto_commit=0);// OTL/OCI8 only void session_end();// OTL/OCI8 only void session_reopen(const int auto_commit=0)// OTL/OCI8 only,打开用 session_end 关闭的会话 void commit(); void rollback(); 注释:使用 server、session来登录比用 rlogon 效率更高 建议使用显式的 commit 和 rollback,不使用 autocommit otl_stream 类 概述 以宿主调用和流的方式完成 SQL 语句的执行。 工作原理:先分析程序员指定的 SQL 语句,之后以流的方式把数据和 otl_stream 内部的缓冲区作交换,通过 flush() 将数据刷新到数据库中。 otl_nocommit_stream 主要成员函数 otl_stream( const short arr_size, const char* sqlstm, otl_connect db, const char* ref_cur_placeholder=0) ) 构造函数 arr_size表示缓冲记录的条数 sqlstm 表示要执行的 SQL 语句 db 表示使用的数据库连接 ref_cur_placeholder 表示返回的光标(如果有的话)的名字 void open( const short arr_size, const char* sqlstm, otl_connect db, const char* ref_cur_placeholder=0) ) 同上 void close() 关闭流 int good() 测试流是否已经成功打开 int eof() 是否到了流的结尾,和标准 C++ 流的 eof 相同 void flush() 刷新 otl_stream 的缓冲区(获取新的数据或者把数据写到数据库中);当缓冲区满的时候,otl_stream 会自动 flush;如果设置了自动提交,则在 flush 的时候将会触发提交 void clean(const int clean_up_error_flag=0) 清空缓冲区而不执行刷新操作 int is_null() 测试通过 运算符获取的值是否为空 long get_rpc() 获取处理了的记录数目,限于INSERT、DELETE、UPDATE语句 otl_column_desc* describe_select(int desc_len); 获取字段描述信息,适用于SELECT语句、引用光标(OCI)和存储过程(ODBC for MS SQL Server and Sybase) class otl_column_desc{ public: char name[512]; // column name int dbtyp

文档评论(0)

新起点 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档