预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于ADO.NET的BLOB数据存取方法研究摘要:SQLServer是当前较为常用的数据库管理系统之一,具有速度快、功能强、易使用等特点,它主要解决数据的存储与管理问题。其中,BLOB(BinaryLargeObject,二进制大对象)数据的存取一直是数据库管理系统的一个难点。针对数据管理的安全性、完整性和一致性要求,首先介绍了BLOB数据的概念及特点;然后分析了ADO.NET数据库访问技术的体系结构和数据访问模式;最后以VisualC#2005作为开发工具,利用ADO.NET技术实现了对SQLServer2005中BLOB数据的存取,并给出了关键代码,以达到更好地管理数据的目的。关键词关键词:VisualC#;ADO.NET;BLOB;数据存取中图分类号:TP391文献标识码:A文章编号文章编号:16727800(2014)005012903作者简介作者简介:江凌(1981-),女,硕士,西北核技术研究所工程师,研究方向为数据库应用开发;杨平利(1964-),男,博士,西北核技术研究所高级工程师,研究方向为软件工程与虚拟仿真;齐芳丽(1974-),女,硕士,西北核技术研究所工程师,研究方向为计算机网络及应用;袁媛(1979-),女,西北核技术研究所工程师,研究方向为计算机可视化与虚拟仿真。0引言随着计算机多媒体技术和网络技术的广泛应用,数据库管理系统中的数据处理对象也发生了变化[1]。由原来单机环境下对数字、字符等数据的处理转变成网络环境下对数字、字符、文本、声音、图像、视频等数据的处理,而文本、声音、图像、视频等数据一般都是以文件的形式存在,这些文件具有特定的格式和数据存储方式(如微软Office系列软件产生的文件等),在数据库管理系统内,这类数据属于BLOB(BinaryLargeObject)数据类型,即二进制大对象数据。如何实现二进制大对象数据在SQLServer数据库中的存取,这是开发人员需要研究和解决的问题。BLOB是一种用于存储无边界数据的数据类型。这些数据的共同特点是规模较大,内部顺序性不可分割,因此它们的存取一般采用整块移动的方式。一般说来,这类数据的大小可以从KB到MB,变化范围很大,数据库管理系统不能像处理常规数据类型那样预留存储空间,因此大数据的存储变得比较复杂。本文在第一部分介绍ADO.NET数据访问技术的特点、组件及访问模式;第二部分重点阐述使用ADO.NET存取SQLServer2005中BLOB数据的方法,并编写代码实现了存取功能。BLOB数据的类型包括图片(*.jpg、*.bmp等格式)和文档(*.doc、*.pdf等格式)。1ADO.NET简介ADO.NET是.NETFramework提供给.NET开发人员的一组类,它以XML为基础,提供一致的方法来访问各种数据源和数据访问服务,包括MicrosoftSQLServer数据库、ODBC、OLEDB数据源、Oracle数据源以及XML等[2]。1.1ADO.NET体系结构ADO.NET是一种全新的、强大的数据库访问技术[3]。它可将系统前端的用户界面和后台数据库联系起来,应用程序可以通过ADO.NET来连接各种数据源,检索、插入、修改和删除数据源中的数据以及以快速、只读、只进的方式访问数据[4]。用户和系统之间典型的交互过程如图1所示。与传统的Web数据库访问方法比较,ADO.NET数据访问技术具有两个突出的优点:一是紧密集成XML作为数据传输标准,使得ADO.NET能够更加灵活地访问各种不同类型的数据;二是采用中断式访问模式,应用程序只是在需要访问或者进行数据更新时才会连接到数据库,一旦完成就立即断开。为了实现上述任务,ADO.NET提供两个核心组件:.NETFramework数据提供程序和DataSet[5]。ADO.NET的体系结构如图2所示。.NETFramework数据提供程序用于连接数据源、执行SQL命令以及检索数据,检索到的数据既可以直接处理,也可以放入DataSet对象中。.NETFramework数据提供程序通过在DataAdapter对象和DataSet之间建立联系,使DataSet对象可以获取来自多个数据源的数据。.NETFramework数据提供程序包括Connection对象、Command对象、DataReader对象和DataAdapter对象。数据集DataSet是一种与数据源无关的内存数据表示方法,用于高速缓存关系型数据。它像一个简化的关系数据库,可以包含数据表、数据列和数据行以及表与表之间的关系,并且完全是在脱机模式下进行操作。图1ADO.NET的数据访问过程图2ADO.NET的体系结构1.2ADO.NET访问数据库模式对于不同的应用需求,ADO.NET提供了两种模式来访问数据源中的数据:使用DataRea