0
点赞
收藏
分享

微信扫一扫

OTL ODBC访问MySQL数据库

简介

​OTL 是 Oracle, Odbc and DB2-CLI TemplateLibrary 的缩写,是一个操控关系数据库的C++模板库,所以这里主要是用ODBC的方式连接mysql.开放数据库连接(Open Database Connectivity,ODBC)是为解决异构数据库间的数据共享而产生的,现已成为WOSA(The Windows Open System Architecture(Windows开放系统体系结构))的主要部分和基于Windows环境的一种数据库访问接口标准ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取不同DBMS管理的数据;使应用程序直接操纵DB中的数据,免除随DB的改变而改变。用ODBC 可以访问各类计算机上的DB文件,甚至访问如Excel 表和ASCI I数据文件这类非数据库对象。

当OTL用于oracle数据库时可以通过oracle数据库提供的接口;当OTL用于非oracle数据库时,OTL提供了odbc接口(oracle数据库也提供),所以使用OTL来控制非oracle数据库均需先安装对应数据库的odbc驱动。因为对于不同的数据库OTL使用不同的odbc,所以在使用OTL之前需要定义一些宏,告知OTL当前使用的数据库类型。​

编译安装

​代码下载

otlv4.h头文件,下载地址:​​http://otl.sourceforge.net/otl3_down.htm​​。

OTL操作mysql数据库需要通过ODBC来进行,准备mysql-connect-ODBC,

下载地址:​​http://dev.mysql.com/downloads/connector/odbc​​。

配置ODBC数据源。​

OTL ODBC访问MySQL数据库_OTL ODBC MySQL

OTL ODBC访问MySQL数据库_OTL ODBC MySQL_02

OTL ODBC访问MySQL数据库_OTL ODBC MySQL_03


​注意:

DSN:数据源名称

服务器:127.0.0.1 (localhost)想要连接的服务器

UID:用户id

PWD:用户密码

Database:要连接的数据库名

string strCon1 = "DSN=testsqlserver;UID=root;PWD=123456;database=mysql ";

strCon1 = "driver=sql server;server=127.0.0.1;UID=root;PWD=123456;database=mysql";

db.rlogon(strCon1.c_str()); // connect to the database

db.rlogon("xiaoming/xiaoming@LPMsAccess"); //登录数据库​

3种连接方式 

​1,数据源odbc连接

2,代码直接连接 "driver=sql server;server=127.0.0.1;UID=用户名;PWD=密码;database=数据库";

3,USER/PASSWORD\@TNS_ALIAS 这种方式 要注意数据库密码有@时会报错

编译错误记录

​1)c++: 能运行但是数据库没有显示

解决:x86改成x64

ODBC配置的数据源是x64的编译版本,对应的也要使用x64编译

OTL执行SQL语句的两种方式

1、使用otl_cursor::direct_exec(...)函数直接执行sql语句

例如otl_cursor::direct_exec(db,"create table ccc(aa int);");

2、使用otl_stream流执行sql语句使用步骤如下

otl_stream otlCur(1,(const char*)str,db);

//或者

otl_stream otlCur;

otlCur.open(1,(const char*)str,db);//有点像fstream使用方式

举报

相关推荐

0 条评论