数据访问接口体系及数据对象模型探讨--[2]

对象|访问|数据|体系

          数据访问接口体系及数据对象模型探讨(Beat 1.0)

             
                                               81_RedStar81@163.com
                                               TomHornson.student@www.sina.com.cn

                                               个人文集:
                      http://www.csdn.net/develop/author/netauthor/RedStar81/

 

 

 

 

                  一、数据访问接口体系探讨

 

1.Open Client/Open Server

 

C/S结构的中间件具体来说是配置在客户端和服务器端的软件包(注2::).Sybase Open Client/Open Server使分布式异构环境下的互操作成为可能.这里我们简述Sybase C/S 中间件的工作原理.Open Client 是客户端的API,它使客户端应用程序和第三方的工具软件把SQL语句和远程过程调用(RPC)通过网络发送给Sybase SQL Server,或经由Open Server应用(以利用Open Server开发为标志的应用)发送到其它的数据源(数据库系统或Objects Managents或普通的数据存储体)或其它类型的服务器.从Open Client API调用到信道传输有两种很重要的行为发生,TDS(同于Telnet、Ftp等属于应用层协议)格式化程序负责将上层的以API调用为标志的SQL或RPC等转化为TDS消息包而支持多种传输规程的网络库把TDS包按对应客户端与服务器端通信协议的封装格式化.自然在客户端,信道传输行为发生之前,同于其它的网络应用还有很多的行为(具体参看有关协议模型的资料).Open Server是服务器端的API,它允许客户机以SQL语句或RPC形式向一个非Sql Server数据源或其它类型的服务器发送请求.而后使该数据源或特殊服务器以标准的TDS格式向客户端送回状态和数据.Open Server可构成较为理想的C/S结构环境,即所有的客户端能按统一的方式与所有的服务器交互,而所有的服务器亦能按统一的方式接受客户端的请求,并以标准的格式向客户端返回结果.作为扩展,我们这里再介绍点关于Open Client/Open Server的知识,以便读者在下面详细探讨的ODBC体系分析中看到一些历史的技术因素.事实上,正如上面所述,Open Client/Open Server都是API,到Sybase System 11为止,成熟的API包含客户端的DB-Library、Client-Library和服务器端的Server-Library还有公共的CS-Library.重要的特性对比列举如下

      1.Client-Library 优于 较老的DB-Library 而且Client-Library是与SQL无关的.

      2.DB-Library 不支持服务器端的游标.Client-Library功能全面,支持所有类型的游标,包括敏感和不敏感游标

      3.Open Server 是服务器端的API,用来开发服务器端应用.提供一致的数据访问框架能力.Open Server应用既可与Sybase通信又可与非Sybase通信而Sybase SQL Server 连接其它的数据源需要利用Open Server API开发Sybase Open GetWay.

这里稍微提一下,通过对Open Client/Open Server实现的功能、当时数据库系统服务特性、ODBC等较晚出现的接口体系、现时数据库系统服务特性的综合分析对比, 你会发

现Open Client 应用(Open Client Application,包含Sybase Open GetWay、Normal DataSource Application、Mail Open Client 及其它的一些体现统一的数据访问框架的应用)在后来的数据接口体系中亦可实现同样功能但是实现的方式、功能的实现体及其分布大不相同.虽然到现时还有一些影子.

 

 

2.ODBC(Open DataBase Connectivity : 开放数据库连接)

 

ODBC是Microsoft Windows Open Standards Architecture (WOSA,Windows开放服务体系)的重要组成部分,由Microsoft公司于1991年底发布,短短几年已成为事实上的工业标准.它建立了一组规范,提供了一套分层(随着层的扩展,数据服务能力不断的增强)的标准API(支持SQL),它解决了嵌入式SQL接口的非规范核心,数据应用系统用它来访问任何提供了ODBC驱动程序(一组DLL)的数据库,结束了过去针对不同的数据库系统开发须掌握相应数据访问API的时代.事实上,可将ODBC体系看作统一的数据访问界面,而使这种统一的数据访问成为可能的就是各数据库产品厂商提供的相应的ODBC Provider(ODBC提供者即ODBC 驱动),但ODBC一般只能用于关系数据库,很难访问对象数据库或其它非关系数据库或数据系统.下面简述ODBC体系的组成和工作原理. ODBC规范阐释,ODBC体系有四个组成部分:Application、Driver Manager、Driver、Data Source.(如下图).

 

    结合现实的高层开发工作流程如下:

         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处理(语句处理和检索部分)-------->终止(释放语句句柄--->与服务器断开--->释放连接句柄--->释放环境).

 

 

3.OLE DB(Object Link and Embedding DataBase)

 

  随着网络技术和数据库技术的不断发展,现在的应用系统对数据集成的要求越来越高.有必要将不同的地方,不同的格式(如关系型数据库和操作 系统中的文件、电子表格、电子邮件、多媒体数据以及目录服务信息或主机系统中的IMS和VSAM数据等等)的数据集成.传统的解决方案是使用大型的数据库系统,把所有这些数据都移到数据库系统中,然后按照操作数据库的办法对这些数据进行访问,这样做虽然能够按统一的方式对数据进行各种操作,这种间接访问方式带来了很多问题,比如数据更新不及时、空间资源的冗余和访问效率低等等

   此时Microsoft公司的通用数据访问技术(UDA)应运而生,它使数据应用系统能通过实现标准OLE DB接口的数据提供者来访问各种各样的数据,而不管数据驻留在何处,也不需要进行数据转移或复制、转换.

   OLE DB作为一种数据访问接口体系,体现了Microsoft的通用数据访问(UDA)策略的理念.UDA能够通过标准接口来访问各种类型的数据.同于ODBC体系它也提供了一套标准API,不过OLE DB API是完全基于COM的,其特点是采用了多层模型.在COM通信层的一侧是数据另一侧则是数据使用者.这种基于COM的通信可被概括为在抽象对象(如DataSource、Session、Command 和 Rowset)上执行的操作.因此,当使用者连接到DataSource,打开 Session,发出Command,并返回数据Rowset时,便会出现这种情况.

 

  事实上,OLE DB是系统级的编程接口,它定义了一组COM接口,这组接口封装了各种数据

系统的访问操作,这组接口为数据使用者和数据提供者建立了标准,OLE DB还提供了一组标准

的服务组件,用于提供查询、缓存、数据更新、事务处理等操作,因此数据提供方只需实现一

些简单的数据操作.在使用方就可以获得全部的数据控制能力.

 

 

待续:

 

4.  JDBC(Java DataBase Connectivity : Java数据库连接)

二、数据对象模型探讨(待续)
附录:美国著名数据库产品记事(参考)

           

 

 

 

时间: 2024-08-20 14:35:00

数据访问接口体系及数据对象模型探讨--[2]的相关文章

数据访问接口体系及数据对象模型探讨--[附录]

对象|访问|数据|体系 数据访问接口体系及数据对象模型探讨(Beat 1.0)                                                             81_RedStar81@163.com                                               TomHornson.student@www.sina.com.cn                                                个

数据访问接口体系及数据对象模型探讨--[1]

对象|访问|数据|体系 数据访问接口体系及数据对    数据访问接口体系及数据对象模型探讨(Beat 1.0)                          81_RedStar81@163.com  TomHornson.student@www.sina.com.cn 个人文集: http://www.csdn.net/develop/author/netauthor/RedStar81/       文章索引: 预:概念 序言:回首历史 一. 数据访问接口体系探讨 1.       Op

Dojo Data Stor“.NET研究”e——统一数据访问接口

无论在传统的桌面应用还是在主流的互联网应用中,数据始终占据着软件应用中的核心地位.当下,web2.0已经是一个让人们耳熟能详的词汇,而由此带来的数据的开放与共享,引领我们走入了海量数据时代.在今天的互联网上,数据的交互几乎成为了我们的终极诉求,可随之而来的数据多样性,信息的分布式存储及松耦合,以及数据量的几何级规模的膨胀也带来了数据组织上的难度的增大,与此同时,伴随着Ajax, RIA及面向服务的网络应用的发展,其所要求的客户端数据处理逻辑的复杂性不断增加,使得开发难度不断加大. 出于简化数据处

一起谈.NET技术,Dojo Data Store——统一数据访问接口

无论在传统的桌面应用还是在主流的互联网应用中,数据始终占据着软件应用中的核心地位.当下,web2.0已经是一个让人们耳熟能详的词汇,而由此带来的数据的开放与共享,引领我们走入了海量数据时代.在今天的互联网上,数据的交互几乎成为了我们的终极诉求,可随之而来的数据多样性,信息的分布式存储及松耦合,以及数据量的几何级规模的膨胀也带来了数据组织上的难度的增大,与此同时,伴随着Ajax, RIA及面向服务的网络应用的发展,其所要求的客户端数据处理逻辑的复杂性不断增加,使得开发难度不断加大. 出于简化数据处

VB数据访问接口

VB数据访问接口功能及含义 ADC高级数据连接器(Advanced Data Connector): 提供绑定ADO数据源到窗体的数据绑定控件上.ADC主要是一种直接访问或者通过ADO访问远程OLEDB对象的一种技术,它也支持主要应用在微软IE浏览器上的数据绑定控件.它是特地为Web上的浏览器为基础的应用程序而设计的. ADOActive数据对象(Active Data Objects): ADO实际是一种提供访问各种数据类型的连接机制.ADO设计为一种极简单的格式,通过ODBC的方法同数据库接

求助!SSH2,action调用数据访问层,插入数据不报错也不插入,查询值全部返回true??

问题描述 如题,action调用数据访问层,插入数据时不报错也不能插入,查询方法值全部返回true.另,service层和dao层均通过单元测试,可以正常运行.操作.但是集成action和jsp就会出问题.使用了<propertyname="connection.autocommit">true</property>.无效.上代码:applicationcontext.xml<?xmlversion="1.0"encoding=&quo

ADO数据访问模型初学者入门

ado|初学|访问|数据 ADO(ActiveXDataObjects)是Microsoft提供和建议使用的新型的数据访问接口,具体实现为Automation.这样,程序员可以在各种支持Automation的开发环境下方便地访问ADO对象,如VisualBasic.VisualC++.VisualJ++及Delphi等.ADO被实现为OLEDB之上的一个薄层,这使得ADO可以有更快的访问速度,更易使用,同时更节省资源.值得注意的是,对于VisualStudio6.0的用户而言,现在提供的ADO2

Microsoft数据访问组件 (为软的文章)

访问|数据 Microsoft数据访问组件 Microsoft 数据访问组件(MDAC)在整个企业中都提供了一种对所有数据都易于使用.可编程的访问方式.在web或局域网上开发的数据驱动客户机/服务器应用程序能使用这些组件很容易结合来自各种各样的资源的信息,不管是相关的还是不相关的.Microsoft数据访问组件包括ActiveX 数据对象 (ADO)和远程数据服务(RDS), Microsoft为ODBC提供的OLEDB供应商.开放的数据库连接(ODBC)和为Microsoft SQL Serv

代码-如何请求接口删除网络数据?

问题描述 如何请求接口删除网络数据? 给我了HTML5的接口,我怎么去调用呢?用AFN,求大神给代码,耽误您一分钟时间,谢谢 解决方案 网络提供的证券实时数据访问接口 解决方案二: AFN没接触过,但是删除接口肯定是一个url地址,然后需要一个id属性之类的. 解决方案三: AFN参考 http://blog.csdn.net/huang2009303513/article/details/41309043h5提供的是一个http的接口,他需要你传入一些参数,并返回结果给你 解决方案四: 没用过