概述:

ODBC是Open Database Connect 即开发数据库互连的简称,它是一个用于访问数据库的统一界面标准。ODBC引入一个公共接口以解决不同数据库潜在的不一致性,从而很好的保证了基于数据库系统的应用程序的相对独立性。

很多程序员都已经体会到了在Windows平台下通过ODBC进行数据库编程开发的益处,其实在Linux/Unix下现在也有了自己的ODBC,可以使我们的数据库编程就像在Windows平台下一样简单。

下面介绍Linux下的ODBC,本文以Red Hat 6.1 32位系统下的unixODBC-2.3.0为例。

UinxODBC安装:

1.下载UnixODBC安装包

下载地址:ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.0.tar.gz

下载安装包unixODBC-2.3.0.tar.gz放到/usr/local下。

2.安装

运行下述命令:

cd /usr/local

tar zxvf unixODBC-2.3.0.tar.gz

cd unixODBC-2.3.0

./configure --prefix=/usr/local/unixODBC-2.3.0 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc

make

make install

安装完成

3.测试

运行命令:

odbcinst -j

a.安装成功

终端会显示UnixODBC相关信息

unixODBC所需的头文件都被安装到了/usr/inlucde下,编译好的库文件安装到了/usr/lib下,与unixODBC相关的可执行文件安装到了/usr/bin下,配置文件放到了/etc下。安装完成

b.失败

终端显示:

odbcinst: error while loading shared libraries: libodbcinst.so.2: cannot open shared object file: No such file or directory

错误处理:

(1)如果库文件安装到了/lib或/usr/lib目录下,那么需在该目录下执行一下ldconfig命令

(2)其他情况请参阅:http://blog.csdn.net/dongweizu33/article/details/54616258

unixODBC连接MYSQL:

1.下载mysql Connector/ODBC安装包

地址:http://dev.mysql.com/downloads/connector/odbc/3.51.html%23downloads

打开链接后,选择自己所需的版本。这里选择的是

版本:5.1.12

平台:Oracle&Red Hat Linux6

下载:mysql-connector-odbc-5.1.12-linux-el6-x86-32bit.tar.gz

将下载的安装包放 到 /usr/local。

2.安装mysql Connector/ODBC

依次运行以下命令:

cd /usr/local

tar zxvf mysql-connector-odbc-5.1.12-linux-el6-x86-32bit.tar.gz

cd mysql-connector-odbc-5.1.12-linux-el6-x86-32bit/lib

cp  libmyodbc5.so  /usr/local/lib

cd ../

cd bin

./myodbc-installer  -d -a -n "MySQL ODBC 5.1 Driver" \-t"DRIVER=/usr/local/lib/libmyodbc5.so;SETUP=/usr/local/lib/libmyodbc5.so"

3.配置odbc.ini文件(文件位于/etc中)

根据个人的实际需求配置,这里我配置的是192.168.1.134上的test数据库,使用UTF_8字符集

[134db]

Description = mysql

Driver = MySQL ODBC 5.1 Driver

Server = 192.168.1.134

Database = test

Port = 3306

USER = root

Password = 0819

Socket =

Option =

Stmt =

CHARSET  = UTF8

4.测试

运行命令

isql 134db -v

成功!

unixODBC连接ORCALE:

1.下载oracle客户端安装包

下载:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

根据具体要求下载相应的安装包,本文下载的是32位的12.1.0.2.0-1版

oracle-instantclient12.1-basic-12.1.0.2.0-1.i386.rpm

oracle-instantclient12.1-devel-12.1.0.2.0-1.i386.rpm

oracle-instantclient12.1-odbc-12.1.0.2.0-1.i386.rpm

oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.i386.rpm

2.安装oracle客户端

rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.i386.rpm

rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.i386.rpm

rpm -ivh oracle-instantclient12.1-odbc-12.1.0.2.0-1.i386.rpm

rpm -ivh oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.i386.rpm

如果系统不支持rpm格式安装 将上述四个rpm格式都需转换成deb格式:

安装alien:执行命令

sudo apt-get install alien

利用alien转换rpm为deb格式:

sudo alien oracle-instantclient12.1-basic-12.1.0.2.0-1.i386.rpm

sudo alienoracle-instantclient12.1-devel-12.1.0.2.0-1.i386.rpm

sudo alien oracle-instantclient12.1-odbc-12.1.0.2.0-1.i386.rpm

sudo alien oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.i386.rpm

安装(deb格式):

sudo dpkg -i oracle-instantclient12.1-basic_12.1.0.2.0-2_amd32.deb

sudo dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd32.deb

sudo dpkg -i oracle-instantclient12.1-odbc_12.1.0.2.0-2_amd32.deb

sudo dpkg -i oracle-instantclient12.1-sqlplus_12.1.0.2.0-2_amd32.deb

3.配置orcale环境变量等

填加tnsanme信息(根据实际情况配置,32bit与64bit的目录不同):

mkdir -p /usr/lib/oracle/12.1/client/network/admin

vi /usr/lib/oracle/12.1/client/network/admin/tnsnames.ora

在tnsnames.ora文件中写入:

#tnames.ora Network Configuration File: /usr/lib/oracle/12.1/client/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.134)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

配置环境信息(根据实际情况配置,32bit与64bit的目录不同):

打开/etc/profile,在其中的export行后面添加

export ORACLE_BASE=/usr/lib/oracle/12.1

export ORACLE_HOME=$ORACLE_BASE/client

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export SQLPATH=/usr/lib/oracle/12.1/client/network/admin

export TNS_ADMIN=/home/oracle/network/admin

运行source /etc/profile使profile立即生效

将/usr/lib/oracle/12.1/client/lib/(此为32bit系统下的目录,64bit系统目录为/usr/lib/oracle/12.1/client64/lib/)拷贝到/usr/lib/中

cp /usr/lib/oracle/12.1/client/lib/ /usr/lib/

执行:

cd /usr/lib

ldconfig

再次运行

su -

vi .bash_profile

加入下面这个:
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

4.验证orcale客户端是否安装成功:

sqlplus sdj/sdj@192.168.1.134:1521/orcl

如果出现“ORA-21561: OID generation failed”错误,说明主机名有问题,可用:

hostname localhost.localdomain

修改主机名。

5.配置odbc.ini文件与odbccinst.ini文件

在odbc.ini文件中写入

[ORCL]

Description= ORCALE Driver

driver= ORCALE Driver

server= 192.168.1.134

Port= 1521

ServerName= ORCL

UserID= sdj

Password= sdj

在odbccinst.ini文件中写入

[ORCALE Driver]

Description= ORCALE

Driver=/usr/lib/libsqora.so.12.1

SETUP=/usr/lib/liboramysql12.so

UsageCount=1

CPTimeout=

CPReuse=

6.测试

isql ORCL -v

提示错误:[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib/libsqora.so.12.1' : file notfound。

处理:

执行

ldd /usr/lib/libsqora.so.12.1

显示有  libodbcinst.so.2 => not found

执行

su -

find / -name libodbcinst*

显示有 /usr/lib/libodbcinst.so.1

执行

cp /usr/lib/libodbcinst.so.1 /usr/lib/libodbcinst.so.2

isql ORCL -v

结果

成功!

Linux下通过ODBC连接数据库相关推荐

  1. Linux下通过ODBC连接mysql orical sqlServer数据库

    2017-07-18 22:21:49 mei777387 阅读数 8528更多 分类专栏: Linux,数据库,编程 数据库 编程 Linux 版权声明:本文为博主原创文章,遵循 CC 4.0 BY ...

  2. linux下使用odbc连接mysql_Linux环境下通过ODBC访问MSSql Server

    为了解决Linux系统连接MSSql Server的问题,微软为Linux系统提供了连接MSSql Server的ODBC官方驱动.通过官方驱动,Linux程序可以方便地对MSSql Server进行 ...

  3. linux下sqlserver端口号,linux下连接sqlserver配置及otl编程.docx

    linux下连接sqlserver配置及otl编程 需要的包unixODBC源码包unixODBC-2.2.14.tar.gz下载地址linux下的ODBC 驱动freetds-0.64.tar.gz ...

  4. biee mysql_BIEE 11g linux下连接mysql数据源

    对于连接MySQL数据源,BIEE提供两种不同的方式,一是使用自带的Datadirect ODBC驱动,二是使用MySQL原生的ODBC驱动(Connector/ODBC). 不过遗憾的是本人未能将使 ...

  5. Linux 下用 Python 连接 MSSql Server 2008

    Linux 下用 Python 连接 MSSql Server 2008 赖勇浩(http://blog.csdn.net/lanphaday) Keywords:Linux.python.pyodb ...

  6. Linux下ODBC安装配置

    Linux下ODBC安装配置 ODBC 原理 ODBC 是 Open Database Connect 即开放数据库互连的简称,它是由 Microsoft 公司于 1991 年提出的一个用于访问数据库 ...

  7. linux下WMB通过ODBC连接DB2数据库

    之前写过一篇连接oracle数据库的文章,后来发现连接db2数据库在方法上还是有些区别的. 环境信息如下: Red Hat 6.2 x64 DB2 9.7 WMB7 1.安装odbc_cli 安装过程 ...

  8. linux下qt的odbc库编译,linux qt QODBC连接sql server 驱动 有关问题 ,实在是没辙了

    linux qt QODBC连接sql server 驱动 问题 ,实在是没辙了 程序在linux下,现在需要连接windows的sqlserver . db = QSqlDatabase::data ...

  9. windows下如何访问linux下的oracle数据库

    我们从上面可以看出: 需要 1.oracle client客户端(这儿使用,oracle instance client ,简单) 2.odbc驱动   oracle instance client默 ...

  10. Linux下安装DB2数据库步骤及常用命令

    前言: 最近有些项目在Linux下使用的是IBM的DB2数据库,感觉没MySQL那样容易了解深入,可能是DB2数据库更倾向于商业化,没MySQL那样开源,相关DB2的资源网上没MySQL那样普及,至于 ...

最新文章

  1. 漫画算法:如何判断链表有环?
  2. matlab对矩阵的单个元素修改,怎么修改矩阵中的某些元素 或者简单点说保留矩阵中的元素...
  3. 在Python 中 a=a+b 与 a+=b 区别,你真的知道嘛?
  4. java knn kd树_KNN算法之KD树(K-dimension Tree)实现 K近邻查询
  5. 【我解C语言面试题系列】003 死循环格式问题小结?
  6. golang ide 升级
  7. 《代码敲不队》第八次团队作业:Alpha冲刺 第五天
  8. 假设检验——抽样调查的结论依赖于样本量的大小
  9. 苹果亮度自动调节怎么关闭_iPhone 总是自动亮屏,该怎么关闭?
  10. javascript 高级程序设计(第4版)阅读笔记(一)
  11. ccf csp 题目:门禁系统
  12. 2021 腾讯校招 + 后台开发面经(已 offer)
  13. 《飞猪规则》 第二章 自由行及跟团游类商品发布规范
  14. Linux开发板实现 NTP时间获取
  15. 磨金石教育摄影技能干货分享||如何将平凡的窗户拍出美感
  16. 【AI_数学知识】概率论
  17. 树莓派接手机屏幕_如何将树莓派连接到手机屏幕
  18. IDEA Git 复制分支到新分支 提交到新分支
  19. 人脸识别基础-灰度转换与修改图片尺寸
  20. 80端口和8080端口

热门文章

  1. 按键精灵引流脚本实操
  2. openlayer4 加载arcgis rest 服务
  3. java jsp 乱码_JAVA/JSP 中文乱码
  4. python的100道数学题_python经典例题100道
  5. 预约活动报名登记缴费小程序开发制作功能介绍
  6. 科普 | 到底什么是移动边缘计算?
  7. 星环大数据使用经验总结
  8. 《穿越计算机的迷雾》读书笔记九
  9. 关于一段式、两段式、三段式状态机
  10. php 转换中文乱码,解决php中文乱码转换问题