热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux下Mysql_odbc的安装配置及OTL的使用

最近进入了一个B2B公司的数据团队,主要负责对数据的管理以及对EC提供数据支持。数据库是常见的mysql数据库,数据库访问接口我选择了ODBC-OTL进行连接。因为我也是第一次实际使

最近进入了一个B2B公司的数据团队,主要负责对数据的管理以及对EC提供数据支持。
数据库是常见的mysql数据库,数据库访问接口我选择了ODBC-OTL进行连接。因为我也是第一次实际使用OTL操作,曾经对于ODBC的配置等等都运维人员进行安装配置,如今自己配置就碰上了很大的阻碍。求助度娘、谷歌上的文章进行配置,发现大多内容相同而且无效。如今终于参透了配置方法,放在网上帮助新接触ODBC的同学们少走弯路。

ODBC的配置

第一步:下载必要的软件包

这一步是必须的,要安装ODBC要下的安装包有:

unixODBC-2.3.4.tar.gz
mysql-connector-odbc-5.1.12-linux-debian6.0-x86-64bit.tar.gz

安装包的版本没有太多的要求,只需要这两个就ok,unixODBC是ODBC软件的安装包,mysql-connector-odbc是mysql连接odbc的插件安装包,官网就可以下载。

第二部:解压安装包进行安装

熟悉Linux系统的各位应该都能很熟练的操作了,此处粘贴我的操作步骤吧:

unixODBC的安装:

# tar -zxvf unixODBC-2.3.4.tar.gz
# cd unixODBC-2.3.4
# ./configure --prefix=/usr/local/unixODBC-2.3.4 --includedir=/usr/include --libdir=/usr/lib64 -bindir=/usr/bin --syscOnfdir=/etc
# make
# make install

mysql-connector-odbc的安装:

# tar -zxvf mysql-connector-odbc-5.1.12-linux-debian6.0-x86-64bit.tar.gz
# cd mysql-connector-odbc-5.1.12-linux-debian6.0-x86-64bit/lib
# cp ./*.* /usr/lib64

在配置mysql-connector-odbc还有一步非常重要,我在这一步卡了很长时间,我针对我的安装包版本进行简要说明,请大家在使用时根据实际情况进行相对的调整。在mysql-connector-odbc 5.1之后的版本中只需要把libmyodbc.so文件复制过去就可以了,如果连接不成功需要添加一步操作:

./myodbc-installer -d -a -n "MYSQL" -t "DRIVER=/usr/lib64/libmyodbc5.so;SETUP=/usr/lib64/libmyodbc5.so"  

执行之后会报错提示缺少文件:libodbc.so.1和libodbcinst.so.1,只需要操作:

cp /usr/lib64/libodbc.so.2 /usr/lib64/libodbc.so.1
cp /usr/lib64/libodbcinst.so.2 /usr/lib64/libodbcinst.so.1

再次执行上面的指令就会提示:Success: Usage count is 1 ,到此安装就OK了

第三步:配置文件

安装好odbc之后就是写相关配置文件了,配置文件自动生成在/etc/目录下,分别是:odbc.ini 和 odbcinst.ini ;odbc.ini需要写的是将要连接的数据库信息和连接驱动,odbcinst.ini需要写的是odbc驱动所需要链接的库,下文写下我的小例子:

odbc.ini:
[test]
Description = THE Database for test
Trace = On
TraceFile = staderr
Driver = mysql
SERVER = 192.168.1.1
USER = test
PASSWORD = test123456
PORT = 3306
DATABASE = testdata
charset = UTF8
option = 3

odbcinst.ini
[MYSQL]
Driver=/usr/lib64/libmyodbc5.so
SETUP=/usr/lib64/libmyodbc5.so
UsageCount=1

然后执行isql -v test出现如下内容:

+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+

SQL>

好了,有关mysql-odbc的安装配置终于是完成,成功进入了想连接的数据库了!

OTL的使用

配置好ODBC就进入到使用环节了。此部分内容可以自行度娘,网上有很多相关文章,也可以再继续看下去:
对于OTL我就不过多介绍了,简单来说,就是一个封装好的操作数据库的可操作的库。只需要下载一个otlv4.h的头文件即可,有官方网站可以提供下载。
操作也比较简单,下面我放上我一小段代码提供参考:

#if defined(_MSC_VER) && (_MSC_VER >= 1900)
#define _ALLOW_RTCc_IN_STL
#endif

#include
using namespace std;

#define OTL_ODBC_MSSQL_2008//这个宏定义要在包含otlv4前
#include //将otlv4.h复制到/usr/local/include中

int main()
{
otl_connect m_db;//连接对象
otl_coonnect::otl_initialize();//连接初始化
m_db.rlogon("DSN=test");//我在连接odbc上卡了很久,DSN指定连接那个配置好的odbc.ini

char test_buf[1024] = { 0 };
int test_num = 0;
//查询数据库
try
{
otl_stream select_info(50, "select * from test", m_db);
while(!select_info.eof())
{
select_info >> test_buf >> test_num;//按照查询顺序与类型依次传入
}
}
catch(otl_exception &p)
{
cout <//异常情况
}

cout <<"test_buf : " <"test_num" <
m_db.logoff();//关闭数据库

return 0;
}

好了,使用OTL_ODBC连接mysql数据库进行操作到这里就完成了,希望本篇文章能帮到大家,如有疑问请私信,谢谢


推荐阅读
  • 语法:CREATE[索引类型]INDEX索引名称ON表名(列名)WITHFILLFACTOR填充因子值0~100GOUSE库名GOIFEXISTS(SELECT*FR ... [详细]
  • mysql主机地址是什么????下面的该怎么添??mysql主机地址是什么????下面的该怎么添??答:SQLyogEnterprise中,mysql的主机地址如果你是本机,就填写 ... [详细]
  • MySQL入门_MySQL入门篇!聊聊数据库与MySQL的相关概念
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了MySQL入门篇!聊聊数据库与MySQL的相关概念相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • .NET中各种数据库连接大全(转)[more].NET中各种数据库连接大全sql.gif)SQLSERVEROdbCStandardSecurity:driver{SQLSe ... [详细]
  • jsp数据库多行返回(excel返回多行数据)
    本文目录一览:1、数据库数据怎么返回到jsp页面上 ... [详细]
  • intouch sqlserver_Intouch与 SQL的连接方法
    摘要:本文介绍了Intouch与SQL连接的具体的操作方法,供学习参考。有两种方式,第一种方式ODBC(与MicorosoftAccess ... [详细]
  • MFC程序连接MySQL成功实现查询功能,但无法实现修改操作——详解查询语句在MySQL中的使用过程
    selectxxx,xxx,xxxfromxxxwherexxxxxx,xxxxxx程序的日常开发中,我们经常会写到各种各样的简单的,复杂的查询sql语 ... [详细]
  • Qt提供了QtSql模块来提供平台独立的基于SQL的数据库操作。这里我们所说的“平台独立”,既包括操作系统平台,有包括各个数据库平台。另外, ... [详细]
  • 升序|都会_Hive与优化方法
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Hive与优化方法相关的知识,希望对你有一定的参考价值。Hive与优化方法 ... [详细]
  • PB及ASA数据库程序的发布(转载)分类:pb历程2008-11-0220:341918人阅读评论(0)收藏举报数据库powerbui ... [详细]
  • 常用DOS命令,程序员的帮手
    2019独角兽企业重金招聘Python工程师标准cleanmgr–打开磁盘清理工具compmgmt.msc---计算机管理conf— ... [详细]
author-avatar
手机用户2502873443
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有