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

让 ABAP 程序不再 Dump:数据对象访问的运行时错误防御体系 数据对象访问错误是SAP系统中最常见的运行时错误来源。本文分析了三大类典型触发点:目标变量值域外赋值、类型转换失败和子对象访问越界。针对这些问题,文章提出"校验式预防+异常式兜底"的双重防御策略,并给出ABAP代码示例说明如何将危险操作转换为可控异常处理。特别强调了在SAP Gateway等集成场景中,必须对外部输入数据保持警惕,建议通过格式校验和异常捕获将系统错误转化为业务友好的反馈信息。 阅读详情

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

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


                                               个人文集:
                      http://www.youkuaiyun.com/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.(如下图).

odbc gig 

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

         1.数据应用系统首先获得在ODBC数据源管理器中建立的DSN(存储了与数据提供程序连接的详细信息包含数据库位置、数据库类型及相应的ODBC驱动程序等),然后 Driver Manager依赖一种叫做数据库独立的交流(Database Indepedent Communications Technology)的技术与数据源建立联系(其中涉及客户端和服务器端多种Agent对象的问题,详情不叙,可参见下图).

odbc2 gif
 

        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数据库连接)

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

           

 


 

 

第二部分:VTK核心类详解(第6章:vtkDataObject数据对象类) VTK数据对象体系核心类分析:vtkDataObject作为基类定义了数据抽象接口和类型系统,支持数据抽象、属性管理和序列化。其继承体系包括vtkDataSet,后者管理几何、拓扑和属性数据,提供点坐标、单元连接性和标量数据等操作。vtkDataSet支持空间查询和几何变换,形成从通用到具体的层次化设计,确保数据操作的一致性和扩展性。 阅读详情

相关推荐

EMF SDO Runtime 2.0.0:构建模型驱动的软件系统

本文还有配套的精品资源,点击获取 简介:EMF SDO Runtime 2.0.0是EMF和SDO规范的实现,旨在简化数据访问和管理复杂数据模型。此运行时库为Java开发者提供了一套统一的数据访问接口,支持多种数据源。该库包括JAR文件、文档、示例代码以及可能的图形化工具。它能够用于数据持久化、数据交换和模型驱动开发等场景。开发者需要熟悉SDO概念和EMF API,以高效集...

weixin_33431149的博客 1568

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

数据访问接口体系及数据对象模型探讨--[2] (转)[@more@] 数据访问接口体系及数据对象模型探讨(Beat 1.0) Mailto:81_RedStar81@163.com">81_RedStar81@16...

csd3176的博客 274

Index-TTS-1.5:多模态语音合成的技术演进与商业落地实践

本文深入探讨了Index-TTS-1.5在多模态语音合成领域的技术演进与商业落地。该模型基于GPT风格的自回归Transformer架构,通过优化条件编码器和引入字符-拼音混合建模,显著提升了语音生成的稳定性、精准度和真实感,实现了高质量的零样本语音克隆。文章还详细介绍了其云端体验、本地WebUI部署及ComfyUI集成等实战路径,并分析了其在虚拟数字人、个性化内容创作等商业场景中的应用潜力与挑战。

weixin_29098367的博客 402

GMSL相机“点不亮”分层排查法:从物理层到图像输出一步到位

在车载与工业视觉场景中,GMSL串行链路通过单根同轴线同时传输视频、控制信号和供电,广泛应用于自动泊车、环境感知与工业检测。然而,工程师常被“点不亮”问题困扰——上电后无法探测设备、黑屏或时好时坏。此类故障的根因往往不在驱动代码,而在于物理连接、链路同步、寄存器配置或图像数据流中的某一环。系统性分层排查方法从供电与连接器检查开始,依次验证LOCK位、I2C通道、初始化时序,最后通过测试图案确认数据通路。掌握这套方法,可快速定位GMSL相机黑屏、无图像、花屏等高频故障,显著提升车载视觉项目的调试效率,尤其适合

cuiji1279的博客 366

K-means在关键词聚类中的尝试

K-means在文本聚类中的尝试 K-means算法是无监督的聚类算法。它的算法思想是:先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。 K-means算法的关键点在于: 初始k个聚类中心的选择 距离的计...

BigPig_LittleTail的博客 5573

MATLAB数据可视化:pcolor函数从入门到精通(附colormap调色秘籍)

本文深入解析MATLAB中pcolor函数的数据可视化应用,从核心机制、坐标网格指定到常见陷阱规避。重点揭秘colormap调色秘籍,涵盖内置色系选用原则、个性化定制方法及高级渲染技巧,助你创作出信息准确、视觉出色的专业图表,精通从数据到出版级图表的全流程。

kafka6courier的博客 247

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

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

RedStar81的专栏 2420

手把手教你用OpenClaw+飞书打造论文写作AI助手(附踩坑实录)

面对几十篇文献,逐一阅读摘要都费时。我:“请提取桌面‘论文参考文献’文件夹中所有PDF的摘要,整理成表格,包含:论文标题、作者、发表年份、核心方法、主要结论。AI助手:“正在处理...已提取18篇论文摘要,汇总表格已保存到桌面‘文献摘要汇总.xlsx’。这比我自己一个个打开PDF复制粘贴快了不止100倍。OpenClaw+飞书的组合,让AI真正成为了我的“数字员工”。虽然配置过程有些曲折,但看到它在飞书里回应指令、帮我处理繁琐工作时,那种成就感无可替代。如果你也在准备论文,不妨试试这套方案。记住,

AcademicIdeas的博客 1041

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

数据访问接口体系及数据对  数据访问接口体系及数据对象模型探讨(Beat 1.0)                         81_RedStar81@163.com TomHornson.student@www.sina.com.cn个人文集:http://www.youkuaiyun.com/develop/author/netauthor/RedStar81/ 

RedStar81的专栏 2302

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

qq_31444421的博客 2万+

超简单的视频换脸,效果相当不错!完全白嫖的技术,来自ComfyUI 官方客户端一键搞定!手把手教会你如何下载安装部署,而且教你如何使用。

如果你电脑上没有安装Visual Studio的C++桌面开发组件,还有Windows应用SDK C++模板,那么你需要自行去下载安装下【安装后默认界面会自动识别系统语言,当然如果你是中文繁体用户,那么你可以在 ComfyUI 的管理器里下载。】并把它放入根目录-models-insightface文件夹内 , 同时下载视频换脸工作流 【分享手把手教你视频换脸,本地部署,轻轻松松当上“电影主角”】,否则insightface无法被正常载入。) 这是换脸必备的工具 ,安装后重启;

TianLeung的博客 2861

数据访问接口体系及数据对象模型探讨

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

不经历风雨怎么见彩虹 967

图解B+树的插入过程

B+ 树在现代数据库中很常见,如果我们了解它,在工作中可能对性能优化会有更好的帮助! 最近我一直在思考 B+ 树的高度是由什么决定的。知道我了解了 B+ 树的插入过程,才有一种恍然大悟的感觉! 网上的一些资料杂乱无章,不同的数据库可能还有对 B+ 树有不同的实现。但是万变不离其宗,B+ 树的定义,大致如下所示: 总结一下,B+ 树有下面 5 个重要的特点。 B+ 树包含 2 种类型的结点: 内部结点(也称索引结点)和叶子结点。 根结点本身即可以是内部结点,也可以是叶子结点。 根结点的关键字个数最

愿君出走半生,归来时仍是少年 2134

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

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

RedStar81的专栏 2100

Openclaw错误排查及解决方案之:Previous run is still shutting down. Please try again in a moment.

Openclaw错误排查及解决方案之:Previous run is still shutting down. Please try again in a moment.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 233

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

用于实现Web 服务的SOA 编程模型,第 2 部分: 使用服务数据对象简化的数据访问

级别: 初级Stephen A. Brodsky, 高级技术人员, IBMMarcia Stockton, 高级技术人员, IBM2005 年 8 月 04 日利用服务数据对象简化面向服务的软件中的数据访问和表示。SDO 用统一的抽象代替各种各样的数据访问模型来创建、检索、更新和删除供服务实现使用的业务数据。这是我们有关用于 IBM® 面向服务的体系结构 (SOA) 的编程模型系列文章

老家的橙子好吃 1047

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Java数据对象技术JDO初步概览(Java数据对象技术JDO)

作为异军突起的新型语言,Java定义了一个标准的运行环境,用户定义的类在其中得到执行。这些用户自定义类的实例代表了真实环境中的数据,包括储存在数据库、文件或某些大型事务处理系统中的数据,而小型系统通常也需要一种在本地负责控制数据存储的机制。  由于数据访问技术在不同的数据源类型中是不一样的,因此对数据进行访问成了给程序开发人员的一种挑战,程序员需要对每一种类型的数据源使用特定的编程接口

Tony 's Blog 只为精进而生 2161

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

为数据访问页中的数据源控件编写脚本

为数据访问页中的数据源控件编写脚本 Mark RobertsMicrosoft Corporation2001 年 4 月摘要:要编写用于数据访问页的脚本,您必须了解数据访问页与动态 HTML 页的底层对象模型、Microsoft Office 数据源 (Microsoft Office Data Source) 控件以及各 Microsoft 数据访问组件 (Microsoft

ozx的专栏 2380

对象类型数据和对象实例数据_服务数据对象简介

简而言之,SDO是用于数据应用程序开发的框架,其中包括体系结构和API。 SDO执行以下操作: 简化J2EE数据编程模型 在面向服务的体系结构(SOA)中抽象数据 统一数据应用程序开发 支持和集成XML 结合了J2EE模式和最佳实践 在SDO框架的简介中,我们将尝试解释SDO工作背后的动机以及SDO与其他规范之间的差异。 然后,我们将描述构成SDO的组件。 最后,当...

cusi77914的博客 2187

利用SDO体系结构简化和统一数据

 本文阐述了服务数据对象 (SDO) 体系结构的关键概念,以及它所提供的强大功能和灵活性。SDO 体系结构在 Java(TM) 2 Platform Enterprise Edition (J2EE) 社区正获得越来越广泛的普及,它也用于构建面向服务的体系结构 (SOA) 的环境。在 IT 解决方案日趋复杂和越来越多地采用分布式体系结构的今天,它可以满足异构数据集成的需要。 引言   服务数据...

lehsyh的专栏 682

Java数据对象技术JDO初步概览

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 557

Visual C++中的活动数据对象

文章来源:http://www.yesky.com/SoftChannel/72342371928702976/20040128/1763931.shtml  摘 要: 本文简要介绍了微软的活动数据对象(ADO)模型,结合实例阐述了在Visual C++环境下使用ADO操纵数据库的基本步骤,分析ADO的特点及与开放式数据库连接(ODBC)的差异与应用前景。   关键词: 活动数

荒乱的没日没夜。。。 988
上一篇: 基于.NET开发和运行环境,架构校园信息系统[3]
下一篇: 数据访问接口体系及数据对象模型探讨--[3]
RedStar81
博客等级 码龄24年 12粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值