1. ODBC工作原理
  ODBC驱动程序类似于Windows下的打印机驱动程序,通过ODBC驱动程序管理器统一对应用程序对数据库的访问进行规范化管理:
 ● ODBC的所有驱动程序都是动态连接库DLL(Dynamic Link Library),由 ODBCADM.DLL驱动程序管理器统一进行管理。
 ● 任何DBMS,只要提供了并符合ODBC接口规范的DLL库,便可以加载到系统中被ODBC建立的应用程序所访问。
 ● ODBC.DLL通过WINDOWS系统注册表(或ODBC.INI文件)中的数据源 (Data Source)了解到对某个数据库应调用哪个DLL。每个数据源对应一个数据库驱动程序库(DBMS或ISAM文件)。

 2. 驱动程序的类型 
  根据数据库管理系统的结构,ODBC的数据库驱动程序分为以下两大类:单层驱动程序和多层驱动程序。下面分别介绍它们的结构。

 (1) 单层数据库驱动程序:
  单层驱动程序不仅要处理ODBC函数调用,还要解释执行SQL语句,执行数据库管理系统(DBMS)的功能,实际上它就是一个数据库管理系统。例如,xBASE数据库系统的驱动程序就属于单层驱动程序。单层驱动程序本身具备数据库引擎的功能,利用它所编写的数据库应用程序为非客户机/服务器结构,这种应用程序既可以是运行于单机环境桌面数据库应用产品,如图6-15所示,也可以是运行在网络环境下的文件服务器数据库应用产品,如图6-16所示。
  运行于网络环境时,应用程序将服务器作为文件服务器使用,要访问数据时,将整个数据库文件传送到应用程序主机一方进行处理,应用程序处理结束后,再将数据库送到服务器上,服务器的作用只是管理用户的访问操作和实现文件的存储管理。
 ① 单机环境的应用程序结构

  图6-15 单机下基于单层驱动程序的应用程序结构

 ② 网络环境下的数据库文件服务器
  运行于网络环境时,应用程序将服务器作为文件服务器使用,要访问数据时,将整个数据库文件传送到应用程序主机一方进行处理,应用程序处理结束后,再将数据库送到服务器上,服务器的作用只是管理用户的访问操作和实现文件的存储管理。这种的数据库软件如FoxPro, Access, Paradox等网络版本。

  图6-16 基于单层驱动程序的网络环境的应用程序结构