注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 操作系统 > Linux 内容正文:Linux/Unix下ODBC的安装、配置与编程(1)

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

发布时间:2006-05-18 16:16:52 来源: 网友评论 0 条
本文主要内容是介绍ODBC的简单原理,以及如何在Linux/Unix下进行ODBC的安装、配置与编程。

一、 ODBC原理

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

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

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

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

单束式驱动程序

单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。

当用户进行数据库操作时,应用程序传递一个ODBC 函数调用给ODBC 驱动程序管理器,由ODBC API 判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。

由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。

多束式驱动程序

多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作而用于远程操作的网络通信协议的一个界面。

前端应用程序提出对数据库处理的请求,该请求转给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下),如下图:

 

图一:ODBCConfig主窗口

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

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

Drivers这一栏中用来设置数据库的驱动程序,点击Add按钮,会出现下图:

 

图二:ODBCConfig Driver Properties窗口

Name一栏填入数据库驱动的名称,Description是数据库驱动的描述,Driver是用来选择数据库驱动程序的,Setup是用来选择数据库驱动安装程序的,如果你是按照上述安装方法安装的,这些程序都放在/usr/lib下,下面是数据库驱动程序的列表:

数据库 数据库驱动程序 数据库驱动安装程序

TXT libodbctxt.so libodbctxtS.so

NNTP libnn.so libodbcnnS.so

MiniSQL libodbcmini.so libodbcminiS.so

PostgreSQL libodbcpsql.so libodbcpsqlS.so

MySQL (注释) libodbcmyS.so

Sybase/MS SQL (注释) libtdsS.so

Oracle (注释) liboraodbcS.so

注释:

MySQL、Sybase/MS SQL和Oracle的数据库驱动可以在下列网址找到:

MySQLhttp://www.unixodbc.org/myodbc.html

Sybase/MS SQLhttp://www.freetds.org

Oracle http://www.easysoft.org

MySQL的驱动程序MyODBC-2.50.39-4 RPM for i386以及源码包:

ftp://speakeasy.rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/MyODBC-2.50.39-4.i386.rpm

ftp://ftp.redhat.com/pub/redhat/linux/7.3/en/os/i386/SRPMS/MyODBC-2.50.39-4.src.rpm

选择好驱动程序之后,点击"√"保存退出。

第二步:设置DSN

DSN分为User DSN、System DSN和File DSN三种,我们以System DSN为例。选中System DSN一栏以后,点击Add…按钮就会见到下图:

 

图三:创建DSN选择数据库驱动

列表中会列出你已经安装好的数据库驱动程序,我这里只装了MySQL和PostgreSQL,然后选择你所要使用的驱动程序,然后点击OK就会出现下图:

 

图四:DSN的设置

我这里使用的是MySQL的数据库驱动,不同的数据库,这个窗口的内容会有所不同。Name是数据源的名称,Description是描述, Server可以选择服务器,如果本机启动了MySQL就可以选择localhost,如果Port和Socket有特殊要求,再根据实际情况进行修改, Database是用来选择数据库的,下拉菜单不一定包含所有的数据库,你可以把自己已经创建好的数据库名称填写在这里。都配置好之后,点击"√"保存退出。

这样Linux/Unix下的ODBC数据源就已经设置好了,大家还可以在ODBCConfig程序的Status栏中查看 ODBC的使用情况,在Advanced栏中设置是否做日志或者启动连接池,在About栏中,有一个Linux/Unix ODBC的示意图,在Credits按钮中可以看到所有开发者的名字的列表。 ODBCConfig程序中所有有关数据库驱动程序的信息被放在odbcinst.ini(在/etc下)文件中,有关DSN的信息被放在 odbc.ini(在/etc下)文件中,大家有兴趣的话,可以自己去观察一下。

第三步:使用DataManager程序浏览数据库

运行DataManager程序之后就可以查看Drivers、System DSN和User DSN这几项内容,,在浏览数据库的时候,可以在右面的SQL栏中输入SQL语句,然后点击人形按钮就可以运行SQL语句,运行结果会在Results一栏中显示出来,具体情况可以见下图:



图五:使用DataManager浏览数据库

第四步:使用isql程序查看数据库

unixODBC还提供了命令台下查看数据库的程序,这就是isql,用法如下:

isql DSN [UID [PWD]] [options]

DSN 数据源名称

UID 用户ID

PWD 用户密码

Options:

-b 批处理,没有提示符的模式

-dx 设置列之间的分隔符为x

-w 将查询结果输出为HTML格式

-c 第一行输出列名

--version   输出isql的版本号


共2页: 1 [2] 下一页
相关文章
  • Linux下声卡驱动软件的安装配置(1)
  • Redhat7.3声卡安装说明
  • Linux操作系统网卡安装指南
  • Linux下IDE CD-RW光盘刻录机安装手记
  • 在SuSe Linux下安装ADSL
【评论】【收藏本文】【打印】【关闭】
上一篇文章:Informix for linux安装(1)
下一篇文章:Linux下软件安装方法(1)
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Linux操作系统文件系统的桌面应用
Linux操作系统文件系统的桌面应用
Linux设备驱动编程之定时器
Linux设备驱动编程之定时器
Windows外衣Linux心 红旗桌面版详测
Windows外衣Linux心 红旗桌面版详测
超实用 Linux下通过VNC安装Oracle
超实用 Linux下通过VNC安装Oracle
推荐阅讯
  • 在RHEL5系统下安装纯文本打印机试验方法
  • Linux下Flash/Shockwave播放器安装
  • 在Linux操作系统下如何删除不安全telnet
  • 更好无线支持 Linux内核升级2.6.17
  • Redhat7.3声卡安装说明
  • 有备无患 Linux服务器备份和恢复技巧
  • 惠普服务器安装Redhat Linux 6.2/7.0的小窍
  • linux操作系统中如何配置并使用无线网卡
  • Linux下IDE CD-RW光盘刻录机安装手记
  • Linux Journal特别供稿:别了,微软
阅读排行
  • 1.Windows外衣Linux心 红旗桌面版详测
  • 2.扮酷你的桌面 Linux超靓壁纸下载(多图)
  • 3.Linux安装流程
  • 4.浅谈Linux的内核
  • 5.RedHat Linux9.0安装实例(1)
  • 6.ARM的嵌入式Linux移植体验之基本概念
  • 7.Linux安装要点
  • 8.红旗Linux桌面版5.0BETA版OS
  • 9.如何在大硬盘上安装Linux
  • 10.RealPlayer流媒体播放器Linux版
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载