一、编写代码

注:以下代码来自OTL示例,略有改动

#includeusing namespacestd;

#include

#include

#include#define OTL_ODBC //Compile OTL 4.0/ODBC

//The following #define is required with MyODBC 3.51.11 and higher

#define OTL_ODBC_SELECT_STM_EXECUTE_BEFORE_DESCRIBE

#define OTL_ODBC_UNIX //uncomment this line if UnixODBC is used#include//include the OTL 4.0 header file

otl_connect db; //connect object

voidinsert()//insert rows into table

{

otl_stream o(1, //buffer size should be == 1 always on INSERT

"insert into test_tab values"

"(:f1,:f2),"

"(:f12,:f22),"

"(:f13,:f23),"

"(:f14,:f24),"

"(:f15,:f25)",//INSERT statement. Multiple sets of values can be used//to work around the lack of the bulk interface

db //connect object

);//If the number of rows to be inserted is not known in advance,//another stream with the same INSERT can be opened

otl_stream o2(1, //buffer size should be == 1 always on INSERT

"insert into test_tab values"

"(:f1,:f2)", db //connect object

);char tmp[32];inti;for (i = 1; i <= 100; ++i) {

sprintf(tmp,"Name%d", i);

o<< i <

}for (i = 101; i <= 103; ++i) {

sprintf(tmp,"Name%d", i);

o2<< i <

}

}void update(const intaf1)//insert rows into table

{

otl_stream o(1, //buffer size should be == 1 always on UPDATE

"UPDATE test_tab"

"SET f2=:f2"

"WHERE f1=:f1",//UPDATE statement

db //connect object

);

o<< "Name changed" <

o<< otl_null() << af1 + 1; //set f2 to NULL

}void select(const intaf1) {

otl_stream i(50, //buffer size may be > 1

"select * from test_tab"

"where f1>=:f11"

"and f1<=:f12*2",//SELECT statement

db //connect object

);//create select stream

intf1;char f2[31];

i<< af1 << af1; //:f11 = af1, :f12 = af1

while (!i.eof()) { //while not end-of-data

i >>f1;

cout<< "f1=" << f1 << ", f2=";

i>>f2;if(i.is_null())

cout<< "NULL";elsecout<

cout<

}

}intmain() {

otl_connect::otl_initialize();//initialize ODBC environment

try{//db.rlogon("UID=xuanyuan;PWD=xuanyuan;DSN=examples");//connect to ODBC

//其中dsn是odbc连接的名字,不是数据库的名字,otl是通过odbc的名字找到数据库的, //而这个名字对于的配置里面,已经包含了IP,端口等信息,只要你提供用户名和密码就可以访问了"xuanyuan/xuanyuan@examples"); //connect to ODBC, alternative format of connect string

otl_cursor::direct_exec(db,"use examples"); //此行在原示例代码中没有,必须使用use xxx切换数据库

otl_cursor::direct_exec(db, "drop table test_tab",

otl_exception::disabled//disable OTL exceptions

); //drop table

otl_cursor::direct_exec(db,"create table test_tab(f1 int, f2 varchar(30)) type=innoDB"); //create table

insert();//insert records into the table

update(10); //update records in the table

select(8); //select records from the table

}catch (otl_exception& p) { //intercept OTL exceptions

cerr << p.msg << endl; //print out error message

cerr << p.stm_text << endl; //print out SQL that caused the error

cerr << p.sqlstate << endl; //print out SQLSTATE message

cerr << p.var_info << endl; //print out the variable that caused the error

}

db.logoff();//disconnect from ODBC

return 0;

}

二、编译代码

g++ -o"otl_test2" otl_test2.cpp -lmyodbc3

三、运行程序 otl_test

$ ./otl_test2

结果如下:

f1=8, f2=Name8

f1=9, f2=Name9

f1=10, f2=Name changed

f1=11, f2=NULL

f1=12, f2=Name12

f1=13, f2=Name13

f1=14, f2=Name14

f1=15, f2=Name15

f1=16, f2=Name16

linux otl mysql_Linux下使用OTL操作mysql数据库相关推荐

  1. linux python开发环境sql数据迁移到mysql_linux环境下python怎样操作mysql数据库

    展开全部 linux环境下python怎样操作mysql数据库呢?方法如下: 首先在Linux环境下安装mysql-python 1.下载mysql-python 打开终端: cd /usr/loca ...

  2. 【Linux】Ubuntu下C语言访问MySQL数据库入门

    使用的系统是Ubuntu 11.10.数据库是MySQL. MySQL数据库环境配置 首先需要安装MySQL客户端和服务器,命令行安装方式为: sudo apt-get install mysql-s ...

  3. linux hive mysql_Linux下的Hive与Mysql安装

    一,安装MySQL sudo apt-get install mysql-server mysql-client 1). 建立数据库hive, create database hive; 2). 创建 ...

  4. linux下使用的mysql数据库,Linux下安装以及使用MySQL数据库

    1.官网下载mysql数据库:https://dev.mysql.com/downloads/mysql/ 2.linux 下可直接下载:wget https://cdn.mysql.com//Dow ...

  5. linux下使用python操作mysql

    linux下使用python操作mysql 文章目录 linux下使用python操作mysql 一.Python 中MySQL的几个模块对象 1.模块 2.Connection 对象 3.Curso ...

  6. linux下使用C++操作mysql

    linux下使用C++操作mysql 文章目录 linux下使用C++操作mysql 一.常用类型介绍 1. MYSQL 2. MYSQL_ROW 3. MYSQL_FIELD 4. MYSQL_RE ...

  7. mysql5.6.24安装perl,linux下perl操作MySQL数据库(需要安装DBI)

    这篇文章主要为大家详细介绍了linux下perl操作MySQL数据库(需要安装DBI),具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧!DBI安装:D ...

  8. linux下c语言调用mysql,Linux下C语言操作MYSQL总结

    Linux下C语言操作MYSQL总结 发布时间:2006-12-17 00:40:00来源:红联作者:anciens 下文的用到的数据库表: 数据库中存在表table, 有name(varchar类型 ...

  9. linux shell操作mysql,Linux shell操作mysql数据库的方法

    摘要 腾兴网为您分享:Linux shell操作mysql数据库的方法,鱼乐贝贝,宜信,嘻嘻动漫,西餐菜谱等软件知识,以及包装效果图,德州人社,evasi0n.com,ios迅雷,民革e家,动态表情, ...

  10. mac php 连接mysql数据库_Mac环境下php操作mysql数据库的方法分享

    Mac环境下php操作mysql数据库的方法分享 今天在mac上搭建好了php的环境,我们就把php操作mysql数据库的方法分享给大家,有需要的小伙伴参考下. Mac本地环境搭建 在Mac系统,我们 ...

最新文章

  1. 数据库归档及热点库_postgresql连续归档及时间点恢复的操作
  2. GARFIELD@11-21-2004
  3. 网络报文的数据格式定义和使用
  4. Android系统自带样式(@android:style/)
  5. snoopy(强大的PHP采集类) 详细介绍
  6. 【Erlang应用】消息队列RabbitMQ介绍以及应用案例
  7. UITextFeild的基本属性
  8. Linux下的I/O复用与epoll详解(ET与LT)
  9. 前端学习(1970)vue之电商管理系统电商系统之渲染添加参数的对话框
  10. 每天进步一点点《ML - 基于层次的聚类》
  11. python3 yield_Python3基础 yield 在函数中的用法示例
  12. 梅西精彩过人绝技,太帅了!
  13. readonly(C# 参考)
  14. Linux上安装rz和sz命令
  15. oracle 数据库 查看 目录,如何查看oracle数据库服务器名
  16. 聚焦四个重组,构建基于IPD的卓越研发体系(3.0版)
  17. windows L2TP 拨号无法连接
  18. 联发科(MTK)MT6762 安卓核心板 安卓主板
  19. web前端设计必备网页特效案例 - 轮播图
  20. CSS基础(二)--盒模型与浮动

热门文章

  1. RFBnet论文及其代码详解
  2. 迪文屏DMT12800K070_A2WTC踩坑实录(一)
  3. 在python中,计算Sum = m + mm + mmm +mmmm+.....+mmmmm.....,输入两个数m,n。m的位数累加到n的值,列出算式并计算出结果:
  4. IT技术人,不可有傲气,但须有傲骨
  5. 六款国产杀毒软件资源占用测试,八款杀毒软件横向评测:系统资源占用篇
  6. 手机投屏不是全屏怎么办_一招搞定手机投屏不是全屏问题,手机投屏自适应全屏...
  7. 使用 customize-cra 修改 webpack 配置
  8. 【渝粤教育】 国家开放大学2020年春季 1132卫生管理 参考试题
  9. python经典练习题汇总
  10. VBA 把电信的电话费用表转换成部门电话费用明细表(图文)