/Unix下ODBC的安装、配置与

来源:互联网 发布:linux改文件名命令 编辑:程序博客网 时间:2024/05/19 13:06
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

Linux/UnixODBC安装配置与编程

齐亮(cavendish@eyou.com)
2002年7月


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

一、ODBC原理

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

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

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

从结构上分,ODBC分为单束式和多束式两类。
单束式驱动程序
单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。
当用户进行数据库操作时,应用程序传递一个ODBC函数调用给ODBC驱动程序管理器,由ODBCAPI判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。
由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。多束式驱动程序
多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作而用于远程操作的网络通信的一个界面。
前端应用程序提出对数据库处理的请求,该请求转给ODBC驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序,多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如的SQLNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎,服务器处理完后把结果发回给数据库通信接口,数据库接口将结果传给多束式ODBC驱动程序,再由驱动程序将结果传给应用程序。
很多程序员已经体会到了在Windows平台下的ODBC的益处,而在Linux/Unix下进行数据库编程的时候却不得不根据不同的数据库来选择特有的API进行编程,一旦数据库发生了改变,所有与这些API相关的程序都必须进行修改。其实在Linux/Unix下现在也有了自己的ODBC,可以使我们的数据库编程就像在Windows平台下一样简单。

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

二、Linux/UnixODBC安装

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


tarzxvfUnixODBC-2.2.1.tar.gzcdUnixODBC-2.2.1./configure--prefix=/usr/local/UnixODBC-2.2.1--includedir=/usr/include--libdir=/usr/
lib-bindir=/usr/bin--sysconfdir=/etcmakemakeinstall

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



方法二:
下载rpm包进行安装,我们这里以RedHat7.3为例:
UnixODBC-2.2.0-5RPMfori386(安装包及源码包)
(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)共5页  1    
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>