下载
第19章 使用Visual C++ 优化ODBC
开放式数据库连接 (Open Database Connectivity, ODBC)是一种标准的数据访问途径,包
含在所有Microsoft Wi n d o w s操作系统中,它伴随Windows 3.1推出,是M i c r o s o f t 桌面所提供的
最持久和最稳定的特性之一。虽然一些接口有增减,并且推出了其他技术能取代它,但是,
O D B C 在客户端和服务器组件中仍然是一种数据库访问的有效解决方案。本章讲述了在
Wi n d o w s 环境中O D B C 的体系结构和函数,讨论在用户应用程序中使用 O D B C 的优点和缺点,
并详细演示Microsoft Visual C++ 6中使用O D B C的两种主要方法。作者假定读者已经熟悉使用
Visual C++构造应用程序,并对数据库的一般概念比较了解。本章只集中讨论 Visual C++的
O D B C 应用,而不包括普遍的客户 /服务数据库问题。
对于应用程序开发人员而言, O D B C 是一个过程化的数据访问接口,建立在 X / O p e n ( 现在
的Open Group)的结构化查询语言调用层接口 (SQL Call-Level Interface,SQL CLI)基础上。有
这种亲缘关系,它和嵌入式 S Q L模型有许多近似属性就不足为奇了。 O D B C 原理的先进之处在
于它能通过相同的 A P I 和S Q L语法访问不同厂商的数据库。使用 O D B C ,用户不必像嵌入式
S Q L一样使用厂商的专用工具来写代码,或者针对所有需要支持的 S Q L 数据库而编写众多客
户端版本。
O D B C是当前最为广泛支持的数据库接口,在不同地方有数万页的文档。但是奇怪的是,极
少有文档从头到尾地讲述以使用户能看到各方面是如何共同工作的。笔者虽然在这里不能给出
O D B C的全部内容,但的确能用足够的细节描绘出端到端的视图以使读者有效地使用这项技术。
笔者将从讨论O D B C 数据库和应用程序模型开始,然后介绍标准 ODBC API,深入数据库
操作的细节。接着笔者将讨论一些用户需要的资料,以使用 Microsoft Foundation Classes的
O D B C 类来简化部分在 C L I 数据库访问中固有的复杂性。如果跟着学完,读者便足以使用
O D B C 开发或维护数据库应用程序了。
19.1 ODBC体系结构
首先必须描述一下 O D B C模型。为达到目的数据库无关性, O D B C 采用四层的体系结构,
包括客户端、驱动程序管理器、数据库驱动程序和数据库服务器本身。这些构件形成一条管
道使命令能从客户端到达服务器,并使状态报告和数据返回给客户端,如图 1 9 - 1所示。
客户端( c l i e n t ) 通常是用户的代码,并且生成 S Q L 命令让服务器方执行。它可能是和用户
交互的客户端应用程序,或者是在其操作中需要数据库服务的服务器进程,但是对于服务器
而言它们是无区别的。数据库服务器当然就是执行 S Q L 询问的数据库管理者了。在两者之间
便是O D B C ,以其两个构件在客户端和服务器间进行连接和解释。
驱动程序管理器(driver manager)是O D B C 的交通引导者。当一个应用程序请求对其数据源
的连接,驱动程序管理器读取该数据源的描述,定位并加载适当的驱动程序,管理应用程序
和驱动程序的连接,还为调试提供有限的跟踪手段。驱动程序管理器以动态链接库 ( D L L ) 形式
加载在客户端。
评论0