C++使用OTL与mySql交互
OTL 一般概念
当OTL用于oracle数据库时可以通过oracle数据库提供的接口;当OTL用于非oracle数据库时,OTL提供了odbc接口(oracle数据库也提供),所以使用OTL来控制非oracle数据库均需先安装对应数据库的odbc驱动。
因为对于不同的数据库OTL使用不同的odbc,所以在使用OTL之前需要定义一些宏,告知OTL当前使用的数据库类型。
使用OTL操作mysql
在使用OTL前需要安装myodbc。如果使用5.1及以上版本的myodbc,需要配置mySql使其默认编码方式为utf-8。参考1参考2
在引用otlv4.h头文件之前要先定义几个宏(参考):
#define OTL_ODBC // Compile OTL 4.0/ODBC
// The following #define is required with MyODBC 5.1 and higher
#define OTL_ODBC_SELECT_STM_EXECUTE_BEFORE_DESCRIBE
#define OTL_UNICODE // Compile OTL with Unicode
编译OTL时添加链接库:win32: LIBS+=-lodbc32,为了在尽可能的减少依赖,在发布软件时,使用静态的链接选项(以Qt为例):QMAKE_LFLAGS+=-static
使用
OTL的使用流程
* 首先定义宏,指明所使用的数据库类型并设置环境。如#define OTL_ORA9I
* 定义otl_connect对象。otl_connect db; // connect obje