UNIX下配置ODBC的方法

上传人:平*** 文档编号:11947067 上传时间:2017-10-15 格式:DOC 页数:11 大小:195.08KB
返回 下载 相关 举报
UNIX下配置ODBC的方法_第1页
第1页 / 共11页
UNIX下配置ODBC的方法_第2页
第2页 / 共11页
UNIX下配置ODBC的方法_第3页
第3页 / 共11页
UNIX下配置ODBC的方法_第4页
第4页 / 共11页
UNIX下配置ODBC的方法_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《UNIX下配置ODBC的方法》由会员分享,可在线阅读,更多相关《UNIX下配置ODBC的方法(11页珍藏版)》请在金锄头文库上搜索。

1、Linux/Unix 下 ODBC 的安装、配置与编程齐亮 () 2002 年 7 月 本文主要内容是介绍 ODBC 的简单原理,以及如何在 Linux/Unix 下进行 ODBC 的安装、配置与编程。一、 ODBC 原理ODBC 是 Open Database Connect 即开放数据库互连的简称,它是由 Microsoft 公司于1991 年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱动程序与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用与数据库相关的操作,从而提供了数据库的独立性。ODBC 主要

2、由驱动程序和驱动程序管理器组成。驱动程序是一个用以支持 ODBC 函数调用的模块,每个驱动程序对应于相应的数据库,当应用程序从基于一个数据库系统移植到另一个时,只需更改应用程序中由 ODBC 管理程序设定的与相应数据库系统对应的别名即可。驱动程序管理器可链接到所有 ODBC 应用程序中,它负责管理应用程序中 ODBC 函数与 DLL 中函数的绑定。ODBC 使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC 都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是 ODBC 一经推出就获得巨大成功的重

3、要原因之一。从结构上分,ODBC 分为单束式和多束式两类。1. 单束式驱动程序单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。当用户进行数据库操作时,应用程序传递一个 ODBC 函数调用给ODBC 驱动程序管理器,由 ODBC API 判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。 2. 多束式驱动程序多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作而用于远程操作的网络通信协议

4、的一个界面。前端应用程序提出对数据库处理的请求,该请求转给 ODBC 驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序,多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如 Oracle 的 SQLNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎,服务器处理完后把结果发回给数据库通信接口,数据库接口将结果传给多束式 ODBC 驱动程序,再由驱动程序将结果传给应用程序。 很多程序员已经体会到了在 Windows 平台下的 ODBC 的益处,而在 Linux/Unix 下进行数据库编程的时候却不得不根据不同的数据库来选择特有的 API 进行

5、编程,一旦数据库发生了改变,所有与这些 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.gzcd unixODBC-2.2.1 ./configu

6、re -prefix=/usr/local/unixODBC-2.2.1 -includedir=/usr/include -libdir=/usr/lib -bindir=/usr/bin -sysconfdir=/etcmakemake install安装成功后,unixODBC 所需的头文件都被安装到了/usr/inlucde 下,编译好的库文件安装到了/usr/lib 下,与 unixODBC 相关的可执行文件安装到了/usr/bin 下,配置文件放到了/etc 下。 方法二:下载 rpm 包进行安装,我们这里以 Red Hat 7.3 为例:unixODBC-2.2.0-5 RPM

7、for i386(安装包及源码包)(ftp:/ ftp:/ RPM for i386(ftp:/ unixODBC-2.2.0-5.i386.rpm 和 unixODBC-devel-2.2.0-5.i386.rpm 装入系统就可以了,命令如下:rpm -ivh unixODBC-2.2.0-5.i386.rpmrpm -ivh unixODBC-devel-2.2.0-5.i386.rpm安装好以后,所需的各个部分与上面所列的位置相同。 三、 Linux/Unix 下 ODBC 的配置:运行 ODBCConfig 程序(在/usr/bin 下),如下图:图一:ODBCConfig 主窗口 和

8、 Windows 下的 ODBC 设置窗口是不是很像?我想大家都能看懂吧。第一步:安装数据库的 ODBC 驱动程序Drivers 这一栏中用来设置数据库的驱动程序,点击 Add 按钮,会出现下图:图二:ODBCConfig Driver Properties 窗口 Name 一栏填入数据库驱动的名称,Description 是数据库驱动的描述,Driver 是用来选择数据库驱动程序的,Setup 是用来选择数据库驱动安装程序的,如果你是按照上述安装方法安装的,这些程序都放在/usr/lib 下,下面是数据库驱动程序的列表:数据库 数据库驱动程序 数据库驱动安装程序TXT libodbctxt.

9、so libodbctxtS.soNNTP libnn.so libodbcnnS.soMiniSQL libodbcmini.so libodbcminiS.so注释:MySQL、Sybase/MS SQL 和 Oracle 的数据库驱动可以在下列网址找到:MySQLhttp:/www.unixodbc.org/myodbc.htmlSybase/MS SQL http:/www.freetds.orgOracle http:/www.easysoft.orgMySQL 的驱动程序 MyODBC-2.50.39-4 RPM for i386 以及源码包:ftp:/ DSNDSN 分为 Use

10、r DSN、System DSN 和 File DSN 三种,我们以 System DSN 为例。选中System DSN 一栏以后,点击 Add按钮就会见到下图:PostgreSQL libodbcpsql.so libodbcpsqlS.soMySQL (注释) libodbcmyS.soSybase/MS SQL (注释) libtdsS.soOracle (注释) liboraodbcS.so图三:创建 DSN 选择数据库驱动列表中会列出你已经安装好的数据库驱动程序,我这里只装了 MySQL 和 PostgreSQL,然后选择你所要使用的驱动程序,然后点击 OK 就会出现下图:图四:D

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

12、的使用情况,在 Advanced 栏中设置是否做日志或者启动连接池,在About 栏中,有一个 Linux/Unix ODBC 的示意图,在 Credits 按钮中可以看到所有开发者的名字的列表。 ODBCConfig 程序中所有有关数据库驱动程序的信息被放在 odbcinst.ini(在/etc 下)文件中,有关 DSN 的信息被放在 odbc.ini(在/etc 下)文件中,大家有兴趣的话,可以自己去观察一下。第三步:使用 DataManager 程序浏览数据库运行 DataManager 程序之后就可以查看 Drivers、System DSN 和 User DSN 这几项内容,在浏览数

13、据库的时候,可以在右面的 SQL 栏中输入 SQL 语句,然后点击人形按钮就可以运行 SQL 语句,运行结果会在 Results 一栏中显示出来,具体情况可以见下图:图五:使用 DataManager 浏览数据库 第四步:使用 isql 程序查看数据库unixODBC 还提供了命令台下查看数据库的程序,这就是 isql,用法如下:isql DSN UID PWD optionsDSN 数据源名称 UID 用户 IDPWD 用户密码 Options:-b 批处理,没有提示符的模式-dx 设置列之间的分隔符为 x-w 将查询结果输出为 HTML 格式-c 第一行输出列名-version 输出isq

14、l 的版本号四、 Linux/Unix 下 ODBC 的编程:1、使用 unixODBC 提供的 ODBC API 进行编程:在进行编程之前,我们来看一下 ODBC API 中的常用数据类型与我们在 C 语言中使用的数据类型的对应关系:类型标识符 ODBC 数据类型 C 数据类型SQL_C_CHAR SQLCHAR * unsigned char *SQL_C_SSHORT SQLSMALLINT short intSQL_C_USHORT SQLUSMALLINT unsigned short intSQL_C_SLONG SQLINTEGER long intSQL_C_FLOAT SQLREAL float我们这里使用的数据库名称为 test(DSN),这个 DSN 使用的用户名是 root,密码为空,表的名称是 web,字段情况如下:第一:设定 ODBC 环境句柄并设置参数首先我们需要声明一个 ODBC 环境句柄(SQLHENV ),它可以用来获得有关的 ODBC 环境信息,我们需要调用 SQLAllocHandle ( SQL_HANDLE_ENV, SQL_NULL_HANDLE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号