当前位置: 首页 > news >正文

什么是ODBC ?

ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 

一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。

一个完整的ODBC由下列几个部件组成:

应用程序(Application)。

ODBC管理器(Administrator)。该程序位于Windows 95控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。

驱动程序管理器(Driver Manager)。驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。

ODBC API。

ODBC 驱动程序。是一些DLL,提供了ODBC和数据库之间的接口。

数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。

各部件之间的关系如图下图所示:

应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。

在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。

在访问ODBC数据源时需要ODBC驱动程序的支持。用Visual C++ 5.0安装程序可以安装SQL Server、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和Microsoft Text等驱动程序.在缺省情况下,VC5.0只会安装SQL Server、 Access、 FoxPro和dBase的驱动程序.如果用户需要安装别的驱动程序,则需要重新运行VC 5.0的安装程序并选择所需的驱动程序。

转载于:https://www.cnblogs.com/caicaizi/p/7096674.html

相关文章:

  • Perfect or Good Enough – 关于测试程度的一些探讨
  • 得到存储过程中最后拼接出来的语句
  • python 同时打开两个文件以及打开文件的基本操作
  • open_basedir restriction in effect,解决php引入文件权限问题
  • Android应用完全退出的几种方法
  • 【AHOI2005】病毒检测
  • 数据挖掘 - 算法 - ID3 - 转自 http://www.cnblogs.com/dztgc/archive/2013/04/22/3036529.html
  • asp.net MVC html.ActionLink的几种参数格式
  • jquery获取元素各种宽高及页面宽高总结
  • c# AOP 文章地址
  • Android中悬浮窗口的实现
  • 面向对象-类-成员变量-局部变量-this
  • 全字匹配替换函数
  • Codeforces Round #342 (Div. 2)
  • LeetCode-Maximum Subarray[dp]
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Java面向对象及其三大特征
  • Kibana配置logstash,报表一体化
  • laravel 用artisan创建自己的模板
  • LeetCode18.四数之和 JavaScript
  • Linux中的硬链接与软链接
  • MySQL几个简单SQL的优化
  • PAT A1017 优先队列
  • yii2中session跨域名的问题
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 对象管理器(defineProperty)学习笔记
  • 翻译:Hystrix - How To Use
  • 世界上最简单的无等待算法(getAndIncrement)
  • 试着探索高并发下的系统架构面貌
  • 原生JS动态加载JS、CSS文件及代码脚本
  • ionic异常记录
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (1)bark-ml
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Forward) Music Player: From UI Proposal to Code
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计大学生兼职系统
  • (简单) HDU 2612 Find a way,BFS。
  • (三)终结任务
  • (四)库存超卖案例实战——优化redis分布式锁
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (五)Python 垃圾回收机制
  • (一)u-boot-nand.bin的下载
  • (转)3D模板阴影原理
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d