ODBC详解
来源:互联网 发布:张家港房产网成交数据 编辑:程序博客网 时间:2024/06/04 00:39
转自: http://blog.csdn.net/zhongjling/article/details/8170057
ODBC(Open Database Connectivity) 是"开放数据库互连"的简称,是一种使用SQL的应用程序接口(API),是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库,用它生成的程序与数据库或数据库引擎是无关的。ODBC可使程序员方便地编写访问各DBMS厂商的数据库的应用程序,而不需了解其产品的细节。
以下转自 http://blog.csdn.net/sunliduan/article/details/7787284
一、定义
1、开放数据库互连(ODBC)是Microsoft引进的一种早期数据库接口技术
2、是Microsoft公司开发和定义的一套数据库访问标准,称为开放数据库系统互联。
3、它实际上是我们要在本章后面加以讨论的ADO的前身。
二、使用
1、ODBC提供了一种编程接口,可以使用一个ODBC应用程序访问各种数据库管理系统,例如Access、MySQL、DB2、FoxPro、SQLServer和Oracle等。
三、数据源类型
1、用户DSN:计算机本地数据源,只能被当前用户使用。
2、系统DSN:计算机本地数据源,可被任何具有权限的用户使用。
3、文件DSN:可以不是计算机本地数据源,可被安装了相同驱动程序的用户共享。
三、优点
ODBC的最大优点是能以统一的方式处理所有的数据库。
以下转自 http://www.zxbc.cn/html/20081105/67455.html
ODBC 总体结构
应用程序
执行处理并调用odbc函数,提交sql语句并检索结果
Driver Manager
管理应用程序和驱动程序之间的通讯,根据应用程序加载并卸载驱动程序,
处理odbc函数调用,获把它们传送到驱动程序
驱动程序
处理odbc函数调用,把sql语句提交到数据源,并返回结果到应用程序,如有必要,
驱动程序修改一个应用程序请求,以使请求与相关的DBMS支持的语法一致
数据源
用户要访问的DBMS,以及相关os
Application
|
|
Driver Manager
| | |
| | |
驱动程序 驱动程序 驱动程序
| | |
数据源 数据源 数据源
结合现实的高层开发工作流程如下:
1.数据应用系统首先获得在ODBC数据源管理器中建立的DSN(存储了与数据提供程序连接的详细信息包含数据库
位置、数据库类型及相应的ODBC驱动程序等),然后 Driver Manager依赖一种叫做数据库独立的交流(Database
Indepedent Communications Technology)的技术与数据源建立联系(其中涉及客户端和服务器端多种Agent对象的
问题,详情不叙,可参见下图).
2.Driver Mangaer调用特定ODBC驱动程序将ODBC标准API转化为适用于具体数据库系统的函数调用(数据库特征
不同之处也在这里翻译如SQL语法差异等),然后经由客户端的Request Agent发送到数据源.
3.数据源Database Agent处理操作,将结果返回到客户端的Request Agent,再向上经Driver(这里会有翻译和标准化
错误码的行为)、Driver Mangaer返回给Application.
需要说明的是定义和操作光标、维护事务、负责任何与访问数据源的必要软件层进行交互(包括与底层网络或文件
系统接口的软件)等行为亦由驱动程序完成.
结合ODBC API调用顺序描叙工作流程:初始化(分配环境--->分配连接句柄--->与服务器连接--->分配语句句柄)-------->SQL处理(语句处理和检索部分)-------->终止(释放语句句柄--->与服务器断开--->释放连接句柄--->释放环境).
- ODBC详解
- ODBC详解
- MySql配置ODBC数据源详解
- mysql odbc 配置详解、解决方案
- ODBC ~
- ODBC
- ODBC
- ODBC
- odbc
- ODBC
- ODBC
- odbc
- ODBC
- ODBC
- ODBC
- ODBC
- ODBC
- odbc
- accm_problem_1014
- UIImageView添加圆角
- 关于重载提取运算符'<<'在VC6.0环境下产生二义性(ambiguous)的解决办法
- kettle从数据库导出到csv文件注意事项
- iOS开发-UI控件:UIDatePicker日期/时间选取器(滚轮)
- ODBC详解
- 关于网络7层协议的理解
- ROW_NUMBER基本用法
- Gradle for Android(三)多渠道打包、配置签名信息
- Shi-Tomasi角点检测
- Linux _孤儿进程和僵尸进程 浅见
- hdoj 1874 畅通工程续 (最短路)
- Windows Server 2008 搭建流媒体服务器
- 详解MathType中如何批量修改公式字体和大小