Linux/Unix下ODBC的安装、配置与编程

2016-01-29 18:02 78 1 收藏

Linux/Unix下ODBC的安装、配置与编程,Linux/Unix下ODBC的安装、配置与编程

【 tulaoshi.com - Linux 】

齐亮 (cavendish@eyou.com)

   本文主要内容是介绍ODBC的简单原理,以及如何在Linux/Unix下进行ODBC的安装、配置与编程。

一、 ODBC原理

    ODBC 是Open Database Connect 即开放数据库互连的简称,它是由Microsoft 公司于1991 年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱动程序与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用与数据库相关的操作,从而提供了数据库的独立性。

    ODBC 主要由驱动程序和驱动程序管理器组成。驱动程序是一个用以支持ODBC 函数调用的模块,每个驱动程序对应于相应的数据库,当应用程序从基于一个数据库系统移植到另一个时,只需更改应用程序中由ODBC 管理程序设定的与相应数据库系统对应的别名即可。驱动程序管理器可链接到所有ODBC 应用程序中,它负责管理应用程序中ODBC 函数与DLL 中函数的绑定。

    ODBC 使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC 都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC 一经推出就获得巨大成功的重要原因之一。

从结构上分,ODBC 分为单束式和多束式两类。

1. 单束式驱动程序
    单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。
    当用户进行数据库操作时,应用程序传递一个ODBC 函数调用给ODBC 驱动程序管理器,由ODBC API 判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。
    由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。
2. 多束式驱动程序
    多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作而用于远程操作的网络通信协议的一个界面。
    前端应用程序提出对数据库处理的请求,该请求转给ODBC 驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序,多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如Oracle 的SQLNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎,服务器处理完后把结果发回给数据库通信接口,数据库接口将结果传给多束式ODBC 驱动程序,再由驱动程序将结果传给应用程序。

    很多程序员已经体会到了在Windows平台下的ODBC的益处,而在Linux/Unix下进行数据库编程的时候却不得不根据不同的数据库来选择特有的API进行编程,一旦数据库发生了改变,所有与这些API相关的程序都必须进行修改。其实在Linux/Unix下现在也有了自己的ODBC,可以使我们的数据库编程就像在Windows平台下一样简单。

下面我们开始介绍Linux/Unix下的ODBC:

二、 Linux/Unix下ODBC的安装:

方法一:
先下载最新的unixODBC源码包(http://www.unixodbc.org/unixODBC-2.2.1.tar.gz)放到/usr/local下,然后运行下述命令:

tar zxvf unixODBC-2.2.1.tar.gz
cd unixODBC-2.2.1
./configure --prefix=/usr/local/unixODBC-2.2.1 --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc
make
make install

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

方法二:
下载rpm包进行安装,我们这里以Red Hat 7.3为例:
unixODBC-2.2.0-5 RPM for i386(安装包及源码包)
(ftp://speakeasy.rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/unixODBC-2.2.0-5.i386.rpm、ftp://ftp.rpmfind.net/linux/redhat/7.3/en/os/i386/SRPMS/unixODBC-2.2.0-5.src.rpm)
unixODBC-devel-2.2.0-5 RPM for i386
(ftp://speakeasy.rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/unixODBC-devel-2.2.0-5.i386.rpm)
直接将unixODBC-2.2.0-5.i386.rpm和unixODBC-devel-2.2.0-5.i386.rpm装入系统就可以了,命令如下:

rpm -ivh unixODBC-2.2.0-5.i386.rpm
rpm -ivh unixODBC-devel-2.2.0-5.i386.rpm

安装好以后,所需的各个部分与上面所列的位置相同。

三、 Linux/Unix下ODBC的配置:

运行ODBCConfig程序(在/usr/bin下),

和Windows下的ODBC设置窗口是不是很像?我想大家都能看懂吧。

第一步:安装数据库的ODBC驱动程序
Dri

来源:http://www.tulaoshi.com/n/20160129/1504061.html

延伸阅读
  作为IBM系列产品全面支持Linux的一部分,Lotus Domino/Notes 从R5.0.0开始提供基于Linux的版本。 本文将以Red Hat Enterprise Linux 4.0 为例,介绍在Linux平台上进行Lotus Domino/Notes 6.0的安装与配置。Lotus Domino/Notes 6包括了1000多项全新和增强特性,还改进了邮件存档、邮件日记和垃圾邮件控制等功能。在Lotus Domino /No...
准备软件: 1. J2SDK(1.5.0): jdk-1_5_0-linux-i586-rpm.bin 2. Apache(2.0.53): httpd-2.0.53.tar.gz 3. Resin(3.0.13): resin-3.0.13.tar.gz 4. MySQL(4.1.12): Server: MySQL-server-4.1.12-1.i386.rpm Client: MySQL-client-4.1.12-1.i386.rpm 5. MySQL-JBDC Connector: mysql-connector-java-3.1.10.ta...
  1、 指定表   filter为包过滤防火墙默认表,nat表,mangle表     2、 指定操作命令   添加、删除、更新     3、 指定链   操作包过滤防火墙的input,output,forward。也可能操作自己定义的。     4、 指定规则匹配器   各种规则匹配。如IP、端口、包类型  ...
最近,为了配置DNS服务器我收集了不少有关配置DNS服务器方面的资料。在这里我将这些资料加上我在配置DNS服务器时的一些经验进行一下整理。希望能对和我一样在配置DNS服务器时遇到困难的朋友一些启示。 DNS服务器软件即BIND的安装应该说是比较容易的,正常情况下是不会出现什么问题的。因此,本文在着重要讨论的是DNS服务器的几个配置文件的配置...
  无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂...

经验教程

85

收藏

97
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部