OTL简介
OTL是Oracle, ODBC and DB2-CLI Template Library的缩写,目前版本是4.0,是基于C++模板机制的C++库。
OTL 4.0 由一个C++模板框架(C++ template framework)和许多OTL适配器(OTL-adapters)组成。框架是OTL streams的泛型实现,OTL适配器是底层数据库API的包装类,作为对象的类型参数传递给模板框架。
OTL 4.0 通过由模板框架和OTL适配器(OTL-adapters)生成少数的几个类:
--otl_stream
--otl_connect
--otl_exception
--otl_long_string
--几个PL/SQL (Oracle)的模板容器类
就能完成全功能的C++数据库访问功能.。
OTL的代码展开即是对数据库API函数的直接调用,所以能够提供很高的性能(与数据库提供的API相比,只增加了10-15%的开销),并且在多核环境下和传统批处理程序下都拥有很高的可靠性。OTL 4.0 是一个简洁而且不依赖其他环境的模板库,具有高度可移植性.。
OTL 4.0 符合ANSI C++标准(ANSI C++的类型转换,干净模板化代码等等),可以通过兼容STL的流迭代器来使用STL,OTL在otl_stream中还原生支持STL std::string。在OTL还能使用ACE(#define OTL_ACE //定义这个宏),支持ACE_TStrings。
OTL4.0支持以下数据库:
--从Oracle7.3以来的所有版本(通过相应版本的原生OCI接口)
--支持DB2 UDB LUW / zOS (通过原生DB2 CLI接口),
--支持MS SQL Server 2005/2008 (通过原生SNAC接口),
--支持Informix 11 (通过I原生nformix CLI接口),
--支持TimesTen 7或更高版本 (通过原生TimesTen CLI接口),
--支持SAP-MAX/DB (通过原生SAP/DB CLI接口),
--支持符合MS Windows ODBC 3.x和ODBC 2.5 (老版本程序需要)标准的数据源,
--支持Linux/Unix/Mac OS X (通过unixodbc和iODBC驱动管理器): Sybase, MySQL, PostgreSQL, EnterpriseDB, SQLite, MS ACCESS, Firebird等等.
--这份数据库支持列表还在不断的增长。
最近的几年里,软件平台