知识大全 通向未来之桥

Posted

篇首语:人生在勤,不索何获本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 通向未来之桥相关的知识,希望对你有一定的参考价值。

ADO.NET:通向未来之桥  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在Web跨入编程时代之前 对于大多数IT管理者和顾问来说 数据访问只是一个相对而言的问题 所有要用到的数据都必须自己准备好 人们主要关心的问题是选择性能/价格比最好的数据库服务器 系统涉及的所有模块必须和服务器兼容 客户机/服务器应用是这种两层模型最典型的范例     随着Web交互性的日益提高和应用的日益广泛 对于第三层——中间层的需求也越来越突出 中间层是一个逻辑层 数据访问组件通常就在这一层上 数据访问组件是唯一有必要了解数据库细节的代码 同时 准备更换或者升级数据库服务器时 数据访问组件也是第一个需要修改的地方     接下来 三层系统模型发展成了Windows DNA——现在称为Microsoft NET服务器系统 Microsoft利用一个统一的模型进行数据访问 这个模型注重的是内容 而不是数据格式和存储媒介 它的具体表达方式建立在UDA(Universal Data Access 通用数据访问)的基础之上 而UDA正是激励OLE DB体系发展的深层理念 为了提供一种通过VB和ASP 组件方便地 无缝地访问OLE DB功能的途径 Microsoft设计了ADO ADO 是用来支持OLE DB的第一个版本 在几年之内 ADO发展到了 版本 增加和扩展了XML支持 使得经过扩展的ADO对象模型能够匹配所有OLE DB改进功能(例如 对于OLE DB新增的Row和Stream对象 ADO 提供了类似的ADO配套功能)      一 ADO 的核心功能超越了OLE DB    在多层系统中 随着中间层组件的出现 如何为表现层提供最新数据这一问题也随之出现 表现层怎样访问数据?连接怎样打开?或者 我们是否应该维护一份脱机记录(即 一些断开连接之后仍旧能够在表现层使用的数据库记录)?ADO 以及它的更高版本同时提供了对服务器端游标和脱机记录集的支持(脱机记录集是一种对象 它可以跨越网络串行化 客户可以下载它然后脱机使用)     服务器端游标代表着一个紧密结合的 保持连接的环境 在这个环境中我们总是维持着各个层之间的有效通道 只有结束时才拆除连接 与此相反 脱机记录集是一个有状态的对象 我们可以把它作为一个整体处理 且不必维持连接 脱机记录集使用客户端的静态游标 能够提供一个数据源的快照 对于那些只有读取要求 且需要在各个系统层之间移动数据的应用程序来说 脱机记录集是很理想的 今天 大多数Web应用程序要求在各个层之间传输数据 为了获取这些数据 我们经常使用快速的 只能向前 游标 用XML编码数据 然后通过网络发送数据 避免了在Web服务器上维持会话状态信息 在分布式环境中 数据库连接是一种关键性的资源 以脱机方式工作保证了高可伸缩性     然而 Web是一把双刃剑 Web让我们连接到任何类型的联机服务 而且能够与它们进行交互 但是 Web也要求一定程度的互操作性 因为操作所涉及的各个服务可能运行在不同的软件和硬件平台上 我们可以通过利用开放的标准 以及那些不注重私有权的技术——甚至是象+这类广泛应用的私有技术 跨越不同的平台     今天 基于Windows的Web数据访问应用程序利用了ADO丰富的 方便的编程接口 然而 ADO对象天生地定位在Windows平台上 ADO基于的本性使得记录集很难在一个分布式 异种平台构成的环境中使用 另外 即使目标平台可能允许我们使用ADO记录集 它也不具备最有效的机制 ADO NET的DataSet和DataReader更有效 而且 如果没有ADO NET 有些时候我们还可以借助XML或纯文本获得高效率     为了在Web环境下传输数据 Microsoft对ADO记录集进行了优化 但类型转换仍旧是一个必不可少的步骤 因为的数据类型不可能总是匹配ADO记录集的数据类型(例如 String类型必须转换成BSTR类型) 由此 许多人把XML当成了粘合各个层的 万能胶水 ——不管涉及到了哪些平台 通常的做法是 先提取一个记录集 把它保存为XML格式 然后传输结果数据流 让接收者从这个XML数据流重新构造出记录集供以后使用 随着对协同工作能力和可伸缩性要求的提高 ADO不再是最理想的答案 因为它不是建立在XML的基础上——但ADO NET是      二 ADO在Web环境中的不足     NET框架创立了一种取代和+的新组件模型 NET的提出是Microsoft成熟的组件技术的新战略 虽然几个关键性的特色不再在 NET中出现 但在某些方面 NET与编程仍旧很相似 因此 程序员将能够方便地转向 NET开发 ADO NET是Microsoft特别为 NET框架设计的数据访问层 它在很大程度上利用了 NET的优势     为什么 NET必须用一个新的数据访问层来替代现有的 广泛应用的数据访问接口 比如ADO?现代Web应用系统必须具备客户机/服务器应用和桌面应用的交互能力 Microsoft设计 NET的目标正是为了迎接设计现代Web应用系统的挑战 同时 NET也利用了各种Web协议广泛的 强大的连接能力和协同操作能力     在非Windows平台上 ADO记录集不能直接使用 从而使得协同操作能力受到了限制 为了突破这个限制 我们要把记录集转换成XML格式 然后传输转换得到的XML记录集 在ADO NET中 把数据转换成XML以及通过网络传输的操作得到了简化和优化 另外 ADO对象模型中的每一个地方都体现了以数据库为中心的思想 ADO把数据看成是一组来自数据源的记录 而不是把数据看成一些独立的信息 在ADO中 如果脱离了数据提供者用来保存和描述数据的结构 数据将不能独立存在      三 ADO NET数据集和ADO记录集    ADO NET是从Web的角度对ADO进行检讨和改进 Microsoft对ADO NET的设计严格地体现了其名字的含义 ADO 再加上 NET ADO NET自动连接网络 致力于让Web数据访问变得更加简单和高效 两个功能使得这方面的增强成为可能 脱机记录集 以及与生俱来的对XML的支持 由于采用了脱机记录集方案 ADO NET自然也就不再支持服务器端游标 ADO NET天生就把记录数据保存为XML文档 把模式(Schema)和数据视为分离的 可替换的元素     如果你认为ADO早就提供了这些功能 它们并没有什么创新意义 那么 ADO NET还提供了其他许多新的功能 ADO NET能够使用连接的或者非连接的(脱机的)记录集 具体由用户选择的游标类型和游标位置决定 ADO记录集的本地存储格式是ADTG文件格式(Advanced Data TableGram 高级数据表图) ADTG是一种Microsoft私有的二进制存储模式 代表着记录集在内存中的映像 XML是可替换使用的 确定的 详细输出格式 在ADO NET中 我们可以断开一个记录集集合的连接 通过一个默认(但允许更改)的XML模式再现记录集集合     在ADO NET对象模型中 DataSet(数据集)是最重要的对象 一般地 一个DataSet对象就是一个记录集的集合 ADO NET框架提供了记录集的所有数据库功能 排序 分页 过滤视图 关系 索引 和主键     DataSet对象代表了一个在内存中的 有着丰富功能的数据缓冲区 DataSet对象也通过表组织数据 这些表与原始的数据源之间不存在连接 我们可以添加表 表可以通过读取本地或远程XML文件获得 或者也可以从任何可访问的系统资源(包括内存和其他附属设备在内)读取 我们可以排序 索引 过滤数据表 象处理ADO的Recordset一样导航数据表     我们可以通过命令用数据集合填充DataSet对象 如果用 NET集合的形式为DataSet对象提供数据表(具有集合功能的 NET数据类型是ICollection) 同一个DataSet对象能够服务来自多个连接的多个请求 ADO NET的DataSet对象比ADO的Recordset更一般化 与ADO的Recordset不同 它是对数据源的一种抽象 然而 DataSet对象保留了一个在内存中工作的数据存储器 它没有完全淘汰记录集功能 如果我们只需要一次性地滚动记录集 然后生成某种输出 那么 我们应该使用DataReader对象 NET的DataReader对象类似于 只能向前 只读 的记录集 但它是一个高度专用化的对象 所以无论在体积和开销上它都要比记录集小 事实上 记录集能够执行许多不同的任务 是一个相当臃肿的对象 与ADO的Recordset相比 DataReader不包含进行 家务管理 的代码 除了实现功能所必需的代码之外 它不包含任何其他代码     把多个表作为一个整体管理以及允许建立这些表之间的关系 这是ADO NET的新功能 我们可以用XML形式持久化或传输任何DataSet对象 而且无需付出任何额外的代价 因为DataSet对象本身就是按照XML格式构造 因此 除非要修改底层模式 否则 我们无需为了获得一个XML流而去转换DataSet对象的任意一个部分      四 ADO NET对象详解    ADO和ADO NET有着两个截然不同的对象模型 ADO定位在基于Windows 和NT的服务器平台 ADO NET定位在支持 NET的平台 Microsoft预期在 年末推出第一个 NET OS——Windows XP(原来的代码名字为Whistler) 不过 它的后继产品(代码名字为Blackb)更有可能提供一个全功能的 NET OS     如果要迁移代码 我们可以把现有的ADO代码导入到 NET应用之中 从而节省在编写代码方面的投入 然而 如果不做重大的设计调整 同样的代码几乎不可能移植到ADO NET ADO和ADO NET的对象模型不一样 两者在不同的设计指导思想下完成     ADO NET只用来构造基于 NET服务器的Web应用 ADO NET是 NET应用程序的数据访问API 因此 只有把服务器升级到 NET之后 你才可以考虑ADO NET 在同一个应用程序中 让ADO和ADO NET协同运作是没有什么意义的 虽然你可以同时使用这两者(至少从设计的角度来看) 但这并不是一种好的选择     ADO NET的对象主要包括 DataSet DataTable DataColumn DataRow 和DataRelation 这些对象的主要特点说明如下     ▲ DataSet 这个对象是一个集合对象 它可以包含任意数量的数 cha138/Article/program/net/201311/13674

相关参考

管谦:传统养生是通向健康长寿的捷径

人物简介管谦,出生于1926年2月,江苏省启东市人。1942年参加新四军,同年入党,长期从事军队专业工作,历任秘书、科长、处长、研究室主任、研究所副所长、局长,被选为党的十三大代表。离休前任中国人民解

消防出口标志的安装位置?

  出口标志的安装部位通常是在建筑物通向室外的正常出口和应急出口,多层和高层建筑各楼层通向楼梯间和消防电梯前室的门口,大面积的厅、堂、场、馆通向疏散通道和通向前厅、侧厅、楼梯间的出口。出口标志灯一般装

消防出口标志的安装位置?

  出口标志的安装部位通常是在建筑物通向室外的正常出口和应急出口,多层和高层建筑各楼层通向楼梯间和消防电梯前室的门口,大面积的厅、堂、场、馆通向疏散通道和通向前厅、侧厅、楼梯间的出口。出口标志灯一般装

知识大全 谁知道Windowsxp的一个主题:后面是雪山,有个城堡,蓝天白云,绿色的草坪中有条路通向城堡!大神们帮帮忙

谁知道Windowsxp的一个主题:后面是雪山,有个城堡,蓝天白云,绿色的草坪中有条路通向城堡!大神们帮帮忙  以下文字资料是由(本站网www.cha138.com)小编

解释电路的三种状态。

  1通路,电源通向负载的两根导线无断开时的电路。2断路,当电源通向负载的两根导线断开时的电路。3短路,当电源通向负载的两根导线不经过负载而互相接通时的电路。

解释电路的三种状态。

  1通路,电源通向负载的两根导线无断开时的电路。2断路,当电源通向负载的两根导线断开时的电路。3短路,当电源通向负载的两根导线不经过负载而互相接通时的电路。

甲扬言要杀害乙全家,乙报案后公安人员即尾随追赶,在通向乙家的公路上,将携带凶器的甲截获。甲的行为属于__

甲扬言要杀害乙全家,乙报案后公安人员即尾随追赶,在通向乙家的公路上,将携带凶器的甲截获。甲的行为属于_____。A、犯罪预备B、犯罪中止C、犯罪未遂D、不构成犯罪答案:A解析:在本题中一定要将把犯罪预

在历史上曾是云南通向川黔两省的重要门户,是中原文化进入云南的重要通道,为我国著名的“南丝绸之路”要冲,素有“锁钥南滇,咽

在历史上曾是云南通向川黔两省的重要门户,是中原文化进入云南的重要通道,为我国著名的“南丝绸之路”要冲,素有“锁钥南滇,咽喉西蜀”之称的是_____。A、会泽县B、曲靖市C、富源县D、昭通市答案:D解析

知识大全 网络推广如何走上财务自由之路,钱途化 有 来自大咖

网络推广如何走上财务自由之路,钱途化有来自大咖你好,网络推广的方法很多,你可以通过卖流量,招代理,或者买产品等,都可以实现钱途化通向金融王国的自由之路与通向财务自由之路哪个好通向金融王国的自由之路是通

未来科学技术 未来的笔

   未来的世界中一切都将是奇妙无比的,就是我们学习写字用的笔,也是功能奇异、多种多样的,使用起来也很方便。   液体铅笔未来书写工具中,使