linux otl mysql_Linux下使用OTL操作mysql数据库
一、编写代码
注:以下代码来自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数据库相关推荐
- linux python开发环境sql数据迁移到mysql_linux环境下python怎样操作mysql数据库
展开全部 linux环境下python怎样操作mysql数据库呢?方法如下: 首先在Linux环境下安装mysql-python 1.下载mysql-python 打开终端: cd /usr/loca ...
- 【Linux】Ubuntu下C语言访问MySQL数据库入门
使用的系统是Ubuntu 11.10.数据库是MySQL. MySQL数据库环境配置 首先需要安装MySQL客户端和服务器,命令行安装方式为: sudo apt-get install mysql-s ...
- linux hive mysql_Linux下的Hive与Mysql安装
一,安装MySQL sudo apt-get install mysql-server mysql-client 1). 建立数据库hive, create database hive; 2). 创建 ...
- linux下使用的mysql数据库,Linux下安装以及使用MySQL数据库
1.官网下载mysql数据库:https://dev.mysql.com/downloads/mysql/ 2.linux 下可直接下载:wget https://cdn.mysql.com//Dow ...
- linux下使用python操作mysql
linux下使用python操作mysql 文章目录 linux下使用python操作mysql 一.Python 中MySQL的几个模块对象 1.模块 2.Connection 对象 3.Curso ...
- linux下使用C++操作mysql
linux下使用C++操作mysql 文章目录 linux下使用C++操作mysql 一.常用类型介绍 1. MYSQL 2. MYSQL_ROW 3. MYSQL_FIELD 4. MYSQL_RE ...
- mysql5.6.24安装perl,linux下perl操作MySQL数据库(需要安装DBI)
这篇文章主要为大家详细介绍了linux下perl操作MySQL数据库(需要安装DBI),具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧!DBI安装:D ...
- linux下c语言调用mysql,Linux下C语言操作MYSQL总结
Linux下C语言操作MYSQL总结 发布时间:2006-12-17 00:40:00来源:红联作者:anciens 下文的用到的数据库表: 数据库中存在表table, 有name(varchar类型 ...
- linux shell操作mysql,Linux shell操作mysql数据库的方法
摘要 腾兴网为您分享:Linux shell操作mysql数据库的方法,鱼乐贝贝,宜信,嘻嘻动漫,西餐菜谱等软件知识,以及包装效果图,德州人社,evasi0n.com,ios迅雷,民革e家,动态表情, ...
- mac php 连接mysql数据库_Mac环境下php操作mysql数据库的方法分享
Mac环境下php操作mysql数据库的方法分享 今天在mac上搭建好了php的环境,我们就把php操作mysql数据库的方法分享给大家,有需要的小伙伴参考下. Mac本地环境搭建 在Mac系统,我们 ...
最新文章
- 数据库归档及热点库_postgresql连续归档及时间点恢复的操作
- GARFIELD@11-21-2004
- 网络报文的数据格式定义和使用
- Android系统自带样式(@android:style/)
- snoopy(强大的PHP采集类) 详细介绍
- 【Erlang应用】消息队列RabbitMQ介绍以及应用案例
- UITextFeild的基本属性
- Linux下的I/O复用与epoll详解(ET与LT)
- 前端学习(1970)vue之电商管理系统电商系统之渲染添加参数的对话框
- 每天进步一点点《ML - 基于层次的聚类》
- python3 yield_Python3基础 yield 在函数中的用法示例
- 梅西精彩过人绝技,太帅了!
- readonly(C# 参考)
- Linux上安装rz和sz命令
- oracle 数据库 查看 目录,如何查看oracle数据库服务器名
- 聚焦四个重组,构建基于IPD的卓越研发体系(3.0版)
- windows L2TP 拨号无法连接
- 联发科(MTK)MT6762 安卓核心板 安卓主板
- web前端设计必备网页特效案例 - 轮播图
- CSS基础(二)--盒模型与浮动
热门文章
- RFBnet论文及其代码详解
- 迪文屏DMT12800K070_A2WTC踩坑实录(一)
- 在python中,计算Sum = m + mm + mmm +mmmm+.....+mmmmm.....,输入两个数m,n。m的位数累加到n的值,列出算式并计算出结果:
- IT技术人,不可有傲气,但须有傲骨
- 六款国产杀毒软件资源占用测试,八款杀毒软件横向评测:系统资源占用篇
- 手机投屏不是全屏怎么办_一招搞定手机投屏不是全屏问题,手机投屏自适应全屏...
- 使用 customize-cra 修改 webpack 配置
- 【渝粤教育】 国家开放大学2020年春季 1132卫生管理 参考试题
- python经典练习题汇总
- VBA 把电信的电话费用表转换成部门电话费用明细表(图文)