otl_exception
这个类是OTL用来抛出异常的类。如果数据库API返回一个非0的错误值,则OTL会将会抛出一个otl_exception的异常。一个otl_exception异常有可能是一个数据库错误或是一个OTL定义的错误。
序号
|
函数、成员变量
|
说明
|
1
|
char stm_text[2048 or OTL_EXCEPTION_STM_TEXT_SIZE]
|
OTL异常里面SQL语句的前2047个字符。当设置了stream label(在otl_stream或open()函数里面的sqlstm_label设置)后,它就被SQL的数据成员替代了SQL语句。
|
2
|
char var_info[256]
|
如果抛出了“Incompatible data types in stream operation”异常,则该变量被用来填充绑定变量和字段信息。如:bind variable name/select output column number <datatype>
|
3
|
#if defined(OTL_UNICODE_EXCEPTION_AND_RLOGON)
SQLWCHAR msg[1000];
#else
unsigned char msg[1000];
#endif
|
数据库错误信息或是OTL错误信息。
|
4
|
int code
|
数据库错误的编码或是OTL错误编码
|
5
|
#if defined(OTL_UNICODE_EXCEPTION_AND_RLOGON)
SQLWCHAR sqlstate[1000];
#else
unsigned char sqlstate[1000];
#endif
|
仅适用于ODBC或DB2 CLI。对于OCI它始终为空。
用来存放SQL的状态信息,详细请见ODBC或DB2 CLI手册。
|
6
|
#if defined(OTL_EXTENED_EXCEPTION)
#if defined(OTL_UNICODE_EXCEPTION_AND_RLOGON)
int arr_len;
SQLWCHAR *msg_arr[];
SQLWCHAR *sqlstate_arr[];
int code_arr[]
#else
int arr_len;
char * msg_arr[];
char * sqlstate_arr[];
int code_arr[];
#endif
#endif
|
扩展字段信息。通过SQLGetDiagRec()函数,获取所有的ODBC/DB2 CLI动态记录信息。
OTL的异常往往只取第一条信息,但对于ODBC、DB2 CLI在某些情况下,它会带有多条动态的信息,此时该变量里面包含有所有的信息。arr_len是信息数量。
msg_arr里面是消息;sqlstate_arr里面是sqlstate;code_arr里面是错误码。
|
7
|
#if defined(OTL_EXCEPTION_ENABLE_ERROR_OFFSET)
int error_offset
#endif
|
仅适用于OCI。
SQL语句解析错误码。
|
8
|
enum{disabled = 0,enabled = 1};
|
定义两个常量用于静态的SQL语句。
|
<wbr></wbr>
分享到:
相关推荐
This document describes the Oracle, Odbc and DB2-CLI Template Library, Version 4.0 (OTL 4.0). OTL 4.0 is a C++ library based on templates. It integrates all of the previous releases into one library.
OTL 4.0 covers the functionality of a full featured C++ database access library with just a handful of classes: otl_stream, otl_connect, otl_exception, otl_long_string, and several template PL/SQL ...
NULL 博文链接:https://kingj.iteye.com/blog/1872189
我觉得用OTL(Oracle template library)非常比较好,它基于C++实现,使用方便,封装得也很好,将来升级维护也会相对简单;最重要的是相关的文档和说明写得非常清楚,简直让人佩服!
多用途的通用数据库编程模块,支持oracle,sqlserver,sysbase等常用数据库
OTL 是 Oracle,Odbc and DB2-CLI Template Library 的缩写,是一个C++编译中操控关系数据库的模板库,它目前几乎支持所有的当前各种主流数据库,在MS Windows and Unix 平台下,OTL目前支持的数据库版本主要有:...
otl 的电子说明文档,对otl编程很有用的
接口简洁.otl_stream, otl_connect, otl_exception等就可以完成大部分工作 相对 ProC等嵌入式开发,代码能相应减少 性能: 直接访问数据库API接口,具有API接口的高效率,可靠性 稳定性: 开源代码,唯一的代码文件...
c++链接Oracle数据库的开源包,包含otlv4.h和几百个实例。
自己封装的一个OTL类,欢迎下载使用。 MSN:kybd2006@hotmail.com
OTL乙类互补对称电路放大电路放大电路仿真电路,可以学习学习
1.VS2010下使用OTL源码,包含库,2010下编译测试ok。 2.实现了增、删、改、查功能,可供参考学习。
这个资源分为三步: 1. otlv4_h2.zip 2. otl4_examples.zip 3. otl4_htm.zip 具体清参考我的bug: ...OTL使用简单, 只要头文件中包含有: #include "otlv4.h" 就可,实际上整个OTL就一个.H的文件,使用起来极为的方便。
ISO_C++:C++_OTL开发文档
OTL 是 Oracle, Odbc and DB2-CLI Template Library 的缩写,是一个C++编译中操控关系数据库的...OTL最新版本为4.0. 附带官方完整例子,此版本为截止2008-07-30最新版本. 评价: 对数据集实现迭代器访问.确实方便.
这个资源分为三步: 1. otlv4_h2.zip 2. otl4_examples.zip 3. otl4_htm.zip 具体清参考我的bug: ...OTL使用简单, 只要头文件中包含有: #include "otlv4.h" 就可,实际上整个OTL就一个.H的文件,使用起来极为的方便。
详细地介绍了OTL中各个类的成员函数的用法,而且是中文的,很实用。OTL入门教程。详细地介绍了OTL中各个类的成员函数的用法,而且是中文的,很实用。OTL入门教程。详细地介绍了OTL中各个类的成员函数的用法,而且是...
OTL介绍 OTL资料简编 OTL使用指南 OTL编程简介 OTL技术应用 OTL教程 otlv4_h 库 OTL 附官方例子 OTL跨平台数据库编程与应用 把它们全部汇总起来了哈!
OTL是Oracle, ODBC and DB2-CLI Template Library的缩写,目前版本是4.0,是基于C++模板机制的C++库。...框架是OTL streams的泛型实现,OTL适配器是底层数据库API的包装类,作为对象的类型参数传递给模板框架。
This document describes the Oracle, ODBC and DB2-CLI Template Library, Version 4.0 (OTL 4.0). OTL 4.0 is a C++ library based on C++ templates. OTL 4.0 was designed as a combination of a C++ template ...