该函数有两个版本,一个是普通的版本,另一个是在定义了OTL_STREAM_POOLING_ON宏下的另一个版本。 28 (2) void close(const bool save_in_stream_pool = true) 定义了OTL_STREAM_POOLING_ON宏情况下使用。 save_in_stream_pool标志是一个初始化标志。当它设置为真的时候,在定义了OTL_STREAM_POOLING_ON宏的...
void set_stream_pool_size(const int max_size = otl_max_default_pool_size) 设置otl_stream的缓冲区大小。使用该函数必须定义OTL_STREAM_POOLING_ON、OTL_STL或OTL_ACE宏。 如果OTL_STREAM_POOLING_ON宏定义了,该函数体才被包含进代码里面。同时,一个默认的流缓冲区将被作为otl_connce一部分自动分配。然后...
<1:2883830> 18:53:01.576 [00001] There are 3612066 records is loaded! 另外,编译时定义OTL_STREAM_POOLING_ON也会对性能有所提升. 参考:http://otl.sourceforge.net/otl3_ex113.htm
一个SQL语句在otl_stream里面至少需要一个输入或输出占位符,对于没有占位符的SQL语句,它将被作为常量的SQL语句作为另一种方式执行。 从OTL4.0.115版本开始后,缓冲区大小的类型为整形,以前的版本全是短整形。如果需要支持旧版本的代码,请在编译代码前添加定义OTL_STREAM_LEGACY_BUFFER_SIZE_TYPE宏。
void close(void); #ifdef OTL_STREAM_POOLING_ON ?void close( constbool save_in_stream_pool=true ); #endif 关闭流。如果使用了流缓冲池,则可以使用带save_in_stream_pool参数的close()函数。如果参数save_in_stream_pool为true则流并不会真正关闭,而是被缓冲池回收。 int good(void); 测试流是否打开...
(4) 调用otl_connect的rlogon()方法连接数据库。 (5) 创建otl_stream()对象,该对象一般为局部的。 (6) 调用otl_stream的open()方法打开SQL进行解析。 (7) 使用otl_stream的<<操作符绑定SQL中的变量。 (8) 使用otl_stream的>>操作符读取返回结果。
Otl_stream是具体实现otl_stream_concept的类。任何的SQL语句、SQL语句块和存储过程都能通过otl_stream进行处理。 传统的数据库API处理SQL语句的时候,需要绑定变量与占位符,因此,程序员需要定义变量、解析SQL语句、调用绑定占位符的函数、把变量绑定到占位符上、执行SQL、读取输出的变量等等。如此循环。以上所有的这些操...