开放数据库互连

为解决异构数据库间的数据共享而产生的技术
开放数据库互连(英文:Open Database Connectivity,简称ODBC)是一种使得不同应用程序能够通过标准化的API使用SQL语言来访问和操作数据库的技术。它支持直接执行SQL语句,帮助实现数据的共享、交换以及集成,不仅简化了数据库操作,而且增强了不同平台和数据库之间的互操作性。[4]ODBC的出现较大地促进了数据集成和互操作性,提供了连接数据库的方法,以及对数据库元数据的访问,为应用程序开发人员提供了一种方便、统一和可移植的接口,使得跨数据库平台的数据访问变得更加简单和高效。[3]
在20世纪80年代末和90年代初,数据库市场出现了各种不同的系统和标准,为了解决跨数据库互操作性问题,Jet数据库系统和ODBC应运而生。ODBC通过统一接口帮助应用程序与不同数据库通信,而SQL标准化工作确保了数据库系统之间的兼容性。[5]Microsoft与其他厂商共同制定了ODBC标准,使开发人员能更轻松地构建跨平台、可移植的数据库应用程序[3]。ODBC取代了专属厂商接口,具有通用性和灵活性。SQL Access Group制定了ODBC 1.0和CLI标准,提高了数据库之间的互操作性。现代ODBC致力于提升性能、增强安全性和扩展功能,以满足大规模数据和跨平台连接需求。[6]
ODBC架构由API、驱动程序管理器、驱动程序和数据源四部分组成。API用于连接应用程序和ODBC,验证SQL命令和数据库类型,并将请求转发给驱动程序管理器。管理器负责加载和初始化驱动程序,处理API的请求。驱动程序将请求转换为特定数据库系统的命令,并返回响应结果。ODBC架构使得应用程序可以无缝地访问和操作不同类型的数据库,简化了跨数据库平台的应用程序开发,提高了开发效率和可移植性。[2]ODBC的配置可以通过手工配置和代码自动配置两种方式实现。手工配置需要在ODBC管理器中添加数据源,并指定数据库的相关信息。代码自动配置将开发环境下的ODBC数据源信息导出保存到文件中,然后通过应用程序将这些信息写入注册表,实现在实际使用的机器上自动配置ODBC数据源。[7]

历史发展

在20世纪80年代末和90年代初,数据库市场涌现了各种不同的数据库系统和标准,这给应用程序开发人员带来了挑战:他们需要为每个数据库系统编写特定的代码来实现数据访问和交互。这种情况导致了应用程序与数据库之间紧密耦合,使得跨数据库的开发和迁移变得困难且耗时。为解决不同数据库之间的互操作性问题,当时亟需一种通用的解决方案。在这个背景下,Jet数据库系统应运而生。作为一种基于文件的数据库管理系统,最初由微软开发,专为访问、管理和处理小型数据集而设计。1992年,Jet数据库系统逐渐演进并融入Microsoft Access中,成为Access的核心数据库引擎[8]。同时,ODBC(Open Database Connectivity)也崭露头角,为不同数据库之间的连接提供了一种标准化的接口。这使得开发人员能够更轻松地访问和操作Jet数据库系统,实现跨平台、可移植的数据库应用程序开发。ODBC的出现为应用程序开发带来了便利,解决了跨数据库互操作性的挑战,推动了数据库技术的发展和应用的普及。[9]