



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Enterprise Library 40中文文档-数据访问应用程序块简介.txt54就让昨日成流水,就让往事随风飞,今日的杯中别再盛着昨日的残痕;唯有珍惜现在,才能收获明天。 本文由nczhyou贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 中文文档-数据访问应用程序块【 Enterprise Library 4.0 中文文档-数据访问应用程序块【0】简介 企业库数据访问应用程序块简化了开发任务, 实现一般的数据存取功 能。 应用程序可以使用这个应用程序块在各种情况下, 如读数据显示, 通过应用层传递数据,并提交修改数据备份到数据库系统。该应用程 序块同时支持存储过程和 SQL 语句。一般的事务,如连接管理,创 建和缓存参数,封装在应用程序块的方法。换句话说,数据访问应用 程序块提供了最常用的,基于 ADO.NET 的简单易用的类功能,这提 高开发人员的工作效率。 ADO.NET 2.0 提 供 了 一 些 类 诸 如 DbCommand 类 和 DbConnection 类;这些类有助于抽象出数据提供来自任何特定的数 据库执行。数据访问应用程序块可以利用这些类和提供了一个模式, 进一步支持封装的数据库类型的特定功能,如参数发现和类型转换。 因此, 应用程序也可以从一个数据库移植到另一个类型而不需要修改 客户端代码。数据访问应用程序块包括一个抽象基类,它定义一个统 一的接口,并提供了 ADO.NET 2.0 中所需要的数据访问方法。 该 应 用 程 序 块 还 包 括 特 有 的 类 如 Microsoft SQL Server , Microsoft SQL Server CE 和 Oracle 。这些类提供操作的特殊的 数据库类型。应用程序块编写的一种类型的数据库的访问代码,如 SQL Server ,看起来大致相同与另一种类型的数据库的访问代码, 如 Oracle。 数 据 访 问应 用程序 块 的 另一 个特点 是 应 用程 序代码 可 能 由一 个 ADO.NET 连接串名字提到特殊数据库,如“客户”或“库存” 。应 用程序代码可以指定命名数据库的实例,并传递此参数给 DatabaseFactory.CreateDatabase 方法。每一个被命名数据库, 其连接字符串存储在一个配置文件里。通过设置配置文件,开发人员 可以使用自己的应用程序运行于不同的数据库之上。 数据访问应用程序块提供了以下优点: 它提供的功能基于 ADO.NET 2.0 ,您可以单独使用 ADO.NET 的 功能与应用程序块的功能。 它减少了执行通用数据访问的任务所需要的代码。 它有助于在一个应用程序和整个企业中保持数据访问的一致性。 它降低了更换数据库的成本。 它可以减轻开发人员学习对于不同类型的数据库的开发成本。 它减少了大量的代码,开发人员在编写应用程序时,不需要为不同类 型的数据库编写单独代码。 = Library 中文文档-数据访问应用程序块【 Enterprise Library 4.0 中文文档-数据访问应用程序块【1】数据访 问应用程序块简介 本主题包括一系列简短的部分提供了帮助您确定如何使用数据访问 应用程序块以适合您的要求。本主题包含以下部分: 常见情况 示例代码 新版本特点,版本 3.1 和后来的 何时该使用数据访问应用程序块 何时该直接使用 ADO.NET 除本介绍材料,该文档还包含了以下主题: 使用数据访问应用程序块开发应用程序。此介绍如何配置应用程序 块,如何准备您的应用程序使用数据访问应用程序块,应用程序块如 何与一个数据库建立连接,以及处理参数和异常处理。 关键情景。 本节演示如何使用应用程序块以执行最典型的数据访问任 务。 设计数据访问应用程序块。 本节介绍进入设计和应用程序块的理由和 基础理论。 扩展和修改数据访问应用程序块。本节介绍如何扩展应用程序块,加 入你自己的数据库,并建议修改源代码。 部署和操作。本节介绍如何部署和更新应用程序块组件。它还包含有 关配置和 SQL Server 安全。 数据存快速上手。本节介绍如何安装和配置的快速应用,包含了一系 列的演练,演示如何使用数据访问块。 常见情况 开发者在编写应用程序的时候经常使用不同的数据库。 因为这是共同 的,开发者会发现自己为每个应用程序反复编写相同的代码。此外, 这些应用程序可能需要与不同类型的数据库。虽然任务是相同的,该 代码必须加以调整,以适应不同类型的数据库。数据访问应用程序块 解决这些问题提供了逻辑来执行最常见的数据访问任务。 开发者只需 要做到以下几点: 创建数据库对象。 提供命令的参数,如果这是必要的。 调用适当的方法。这些方法的效果能得到优化。他们是可移植的。 数据访问应用程序块可移植到 SQL Server, SQL Server CE,和 Oracle 数据库。它的目的是为解决开发者面对不同数据库时编写最 常见的任务。这些任务是根据情景安排。每个情景给出了一个例子, 模拟一个真实的应用环境,如检索信息的目录或执行金融交易,介绍 了数据库功能的情况,并给出了代码来完成这项任务。 安排这些任务的目标,根据设想是使代码在一个部分中。展示一个孤 立的方法没有任何意义,而把它放在许多开发者都熟悉的应用环境 中,提供了一个情 景设置的代码,在这里他们可以被最好地利用。 几种设想如下: 使用 DataReader 中检索多行数据 使用一个 DataSet 检索多行数据 执行命令和检索输出参数 执行命令和检索一个单值项目 表演多个业务交易 从 SQL Server 检索 XML 数据 使用 DataSet 对象更新的数据库 欲了解更多有关所有这些情景,看到关键情景。 示例代码 下列代码演示了如果调用存储过程返回一个 DataSet view plaincopy to clipboardprint? Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand(GetProductsByCategory); / Retrieve products from category 7. db.AddInParameter(dbCommand, DbType.Int32, 7); DataSet productDataSet = db.ExecuteDataSet(dbCommand); Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = CategoryID, db.GetStoredProcCommand(GetProductsByCategory); / Retrieve products from category 7. db.AddInParameter(dbCommand, DbType.Int32, 7); DataSet productDataSet = db.ExecuteDataSet(dbCommand); view plaincopy to clipboardprint? Dim db As Database = DatabaseFactory.CreateDatabase() Dim dbCommand As DbCommand = CategoryID, db.GetStoredProcCommand(GetProductsByCategory) Retrieve products from the category 7. db.AddInParameter(dbCommand, CategoryID, DbType.Int32, 7) Dim productDataSet As DataSet = = db.ExecuteDataSet(dbCommand) Dim db As Database = DatabaseFactory.CreateDatabase() Dim dbCommand As DbCommand = db.GetStoredProcCommand(GetProductsByCategory) Retrieve products from the category 7. db.AddInParameter(dbCommand, DbType.Int32, 7) Dim productDataSet As DataSet = = CategoryID, db.ExecuteDataSet(dbCommand) 新版本特点,版本 3.1 和后来的 一般来说,应用程序可以使用较早版本的数据访问应用程序块,而不 需要任何代码更改。它可能只需要更新新的程序集,并更新配置文件 以引用正确版本 的组件。 然而, 新版本数据访问应用程序块相对于 3.1 版 (May 2007) 有了一些改变 ,如果您升级到最新版本的企业库,这可能会影响到旧 版本应用程序。 以下各节描述了这些变化。 .NET Framework 2.0 的 TransactionScope 类 要充分利用的.NET Framework 2.0 的 TransactionScope 类,从 Enterprise Library 3.1 版开始已经改变了一些数据库类的方法。 这 些方法,如 ExecuteNonQuery,修改一个 TransactionScope 实 例使用 GetOpenConnection 方法替代 GetConnection 方法。 如果 您写了一个继承于数据库的类,则需要注意这些变化重写你的代码。 如果您继续使用 GetConnection 方法,您将收到一个编译警告。此 外,如果您的应用程序使用 ExecuteXmlReader 方法,您可能需要 重写你的代码进行测试,以查看 TransactionScope 事例是否在关 闭连接之前是活跃的。 欲了解更多信息,请参阅使用 TransactionScope 类。对于一个例 子,如何使用 ExecuteXMLReader 的方法,见检索多条记录为 XML 。 SQL Server Compact Edition Enterprise Library 3.1 May 2007,以及后来的版本都支持 SQL Server Compact Edition(CE) 。SQL Server CE 提供了用 于台式电脑和移动应用程序的关系数据库的基本功能, 它需要有一个 本地数据存储,但不需要全功能的 SQL Server 。欲了解更多信息, 请参阅“使用的 SQL Server CE ”建立一个数据库对象。 何时该使用数据访问应用程序块 数据访问应用程序块包含了少量的方法, 简化了最常用的方法来访问 数据库。每种方法概括了逻辑检索需要的数据和管理连接到数据库。 如果您的应用程序使用标准的数据访问技术,您应该考虑使用应用程 序块。 该应用程序块作为 ADO.NET 的补充,使您可以为不同的数据库类 型使用相同的代码。它包括为 SQL Server 和 Oracle 数据库的类。 这些类包含代码, 提供数据库的具体实现的功能, 如参数处理和游标。 此外, GenericDatabase 类允许您使用的应用程序块的任何配置 ADO.NET DbProviderFactory 对象。您可以扩展应用程序块,增 加了新的数据库类型,其中包括数据库的特定功能,或提供自定义的 执 行 现 有 的 数 据 库 。 唯 一 的 要 求 是 , 一 个 ADO.NET DbProviderFactory 类存在的目标数据库。 何时该直接使用 ADO.NET 数据访问应用程序块是 ADO.NET 的一个补充而不是一个替代。其 提供了简单和方便,同时帮助开发者使用 ADO.NET 的最佳做法。 如果您的应用程序需要检索 数据的方式在一个专门的,或者如果您的代码需要定制,以充分利用 特有的功能特定的数据库,使用 ADO.NET 可能更适合您。 中文文档-数据访问应用程序块【 Enterprise Library 4.0 中文文档-数据访问应用程序块【2】数据访 问应用程序块简介 接下来的部分是如何配置数据访问应用程序块。 你可以使用配置控制 台或者在 visual studio 的编辑窗口里配置数据访问应用程序块的节 点。按照便是的 schema 配置数据访问应用程序块,请参照数据访 问应用程序块里的源 Schema。 添加数据访问应用程序块 1、打开配置文件,需要更多信息,请参考配置企业库。 2、右键点击 Application Configuration,点击 New,然后点击 Data Access Application Block。 下面的部分是如何添加一个默认的数据库实例。这个实例是在调用 DatabaseFactory 时被使用。CreateDatabase 方法没有实例名。 配置默认数据库: 1、在右面板,使用 DefaultDatabase 属性。 2、键入默认数据库的连接字符串名或者在下拉列表中选择。默认的 链接字符串名字叫 ConnectionString。 3 、 设 置 Name 属 性 中 键 入 新 的 名 字 。 默 认 的 名 字 叫 ConnectionString。 4、在 ProviderName 属性区域,指定改变的提供者名字。键入提供 者名字或者在下拉列表中选择。默认的提供者名字是 System.Data.SqlClient 。 ProviderName DBProviderFactory 类中提供一个提供者名字。 下面的部分是如何让创建一个数据库实例的连接字符串。 当配置工具 保存了连接字符串,总体上链接字符串和链接信息是一系列名字-值 的关系。比如,如果你使用配置工具传教一个新的默认值,应该如下 的字符串: Database=Database;Server=(local)SQLEXPRESS;Integrated Security=SSPI; 配置一个连接字符串 1、点击 ConnectionString 节点。 2、设置 Name 属性并键入一个新名字。只是 ConnectionString 节 属 性 必 须 在 点的名字。默认的名字是 ConnectionString。 3、在 ProviderName 属性块,改变提供者的名字。键入名字或者在 下拉列表中选择。默认的提供者名字是 System.Data.SqlClient。 ProviderName 属性必须在 DBProviderFactory 类中提供一个提供 者名字。 4、必须更新 ConnectionString 属性。例如,这个连接字符串指定 了本地 SQL Server Express 作为数据库实例,使用 itegrated Windows 安全策略。 Database=Database;Server=(local)SQLEXPRESS;Integrated Security=SSPI 下面的部分是 如何配置 SQL Server CE 数据库。如果名字在配置 里并且你的应用程序一直使用一个单一文件这个步骤才适用。 跟多关 于 SQL Server CE 的信息,请参考创建一个数据库对象。 配置 SQL Server CE:1、右键点击 Custom Provider Mappings, 点击 New,然后点击的 P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公路建设的绿色施工技术方案
- 建筑施工期间技术检查与监控方案
- 建筑施工质量事故应急处理方案
- 2025年电子专用材料制造行业研究报告及未来行业发展趋势预测
- 2025年压铸行业研究报告及未来行业发展趋势预测
- 【演练脚本】XX应急预案桌面推演方案(模板和现场案例)
- 2025年汽车变速器行业规模分析及投资前景研究报告
- 2025年阳光房行业研究报告及未来行业发展趋势预测
- 2025年增强现实(AR)在体育训练与健身指导中的应用研究报告
- 2025年特殊教育行业研究报告及未来行业发展趋势预测
- 六年级家长会课件
- 2025年安徽省淮南市【辅警协警】笔试模拟考试题(含答案)
- 2025年教科版新教材科学二年级上册教学计划(含进度表)
- T-SCSTA001-2025《四川省好住房评价标准》
- GB/T 17395-2008无缝钢管尺寸、外形、重量及允许偏差
- 化学史课件讲课教案
- 产品合格证明证书模板
- 医务人员礼仪培训
- 心率与高血压培训课件
- 体检中心销售技巧销售话术
- 旅游客源国地区概况(第三版)第03章亚洲客源国概况(下)
评论
0/150
提交评论