SQLServer存储图像数据的策略规划与方法_第1页
SQLServer存储图像数据的策略规划与方法_第2页
SQLServer存储图像数据的策略规划与方法_第3页
SQLServer存储图像数据的策略规划与方法_第4页
SQLServer存储图像数据的策略规划与方法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、育龙网? HYPERLINK http:/WWW.CHINA-B.C0M WWW.CHINA-B.C0M? 2009 06月09日??来源:互联网核心提示:目前对于图像数据的管理大都采用表 +实体的方法,即图像数据以文件形式存 放于指定的计算机目录下,在表中只反映图像数据文件的存储迎国目前对于图像数据的管理大都采用表+实体的方法,即图像数据以文件形式存放于 指定的目录下,在表中只反映图像数据文件的存储路径。这种管理模式,给数据的维护增加 了难度,同时,也给数据的安全带来一定的隐患。因此,要真正做到各类数据在中,研究和 探索直接将图像在关系表中的方法是非常必要的。笔者在6.0开发环境中,采用客户

2、机/的工作方式,针对关系表中存储图像数据的问题 进行了初步探讨,提出了一套基本,供读者参考。一、存储图像数据的策略图像技术一直致力于解决海量数字图像的有效存储和管理问题。它是技术的继承和发 展,一方面,图像数据和文本数据存在着本质的区别,在文本数据领域得以成功应用的传统 技术,如果一成不变的照搬到图像领域,结果往往是低效,甚至无效;另一方面,传统的许 多成果,如SQL语言、索引技术等都值得图像借鉴。上述两个方面的结合成为目前图像技术 发展的主流。1.1BLOB数据类型BLO配非常巨大的不定的二进制或者字符型数据,通常是文档(.txt、.doc)和图片 (.jpeg、.gif、.bmp),它可以

3、存储在中。在 SQLServer中,810加以是 text、ntext 或 者image数据类型。Image数据类型存储的是长度不确定的二进制数据,最大长度是2GBBLO吸据在SQLServer系统中的存储方式不同于普通的数据类型,对于普通类型的数 据系统直接在用户定义的字段上存储数据值,而对于BLO碟型数据,系统开辟新的存储页面来存放这些数据,表中BLO碟型数据字段存放的仅是一个16个字节的指针,该指针指向 存放该条记录的BLO嗷据的页面。1.2BLOB的设计策略BLO吸据是数据量很大的数据类型,它会占用大量的硬盘空间、内存和,因此合理地 设计包含有BLO嗽据类型的属性表,对提高存储效率、查

4、询速度有很大的影响。一般 BLOB 的设计原则如下:(1)使用BLO嗷据类型还是使用varchar或者varbinary数据类型二进制大对象并不一定要存储为text、ntext或者image数据类型,它们也可以作为 varchar或者varbinary数据类型村处在表格中。数据类型的选择要根据将要存储的BLOB的实际大小。如果数据不会超过 8K,那么就使用Varchar或者varbinary数据类型。如果 这些大对象的尺寸超过8K,那么就使用text、ntext或者image数据类型。(2)存储BLOBft中或者在文件系统中常见的设计问题是将图片存在中还是存在文件系统中。在大多数情况下,最好把

5、图片文件与其它数据一起存在中。因为将影像数据文件存储在中有许多优点:易于管理当BLOBW其他数据一起存储在中时,BLOBffi表格是数据一起备份和恢复。这 样就降低了表格数据与BLOBt据不同步的机会,而且降低了其他用户无意中删除了文件系 统中BLO嗷据位置的路径和风险。另外,将数据存储在中BLOEffi其他数据的插入、更新和删除都在同一个事务中实现。这样就确保了数据的一致性和文件与之间的一致性。还有一点好处是不需要为文件系统中的文件单独设置安全性。可伸缩性尽管文件系统被设计为能够处理大量不同大小的对象,但是文件系统不能对大量小文件进行优化。在这种情况下,系统可以进行优化。可用性具有比文件系统

6、更多的可用性。复制允许在分布式环境中复制、 分配和潜在的修改数据。在主系统失效的情况下,日志转移提供了保留备用副本的方法。当然,在某些情况下,将图片存储在文件系统中将是更好的选择:(1)使用图片的应用程序需要数据流性能,例如实时的视频重现。(2)象PhotoDraw或者Adobe这样的应用程序经常访问 BLOB这些应用程序只知道怎 样访问文件。(3)需要使用一些NTFSi件系统中的特殊功能,例如远程存储。二、存储图像数据的方法1建立具有image宇段的SQLServer当需要在SQLServer中存储图像数据时,首先应建立包含image数据类型字段的关系表。 SQLServer平台支持的数据类

7、型中,image数据类型主要用于存储图像数据等大段的二进制 数据。SQLServer7.0之后的版本,image类型可存储2GB的数据。2使用RemoteData控件建立与的连接RemoteData控件是在VisualBasic应用程序中用来获取远程数据的控件。它在.远程 数据对象和数据绑定控件之间提供了接口,只要给它提供有关数据存储的位置、 获取的数据和一些接口控制,就可以连接到,实现对的基本操作。使用RemoteData控件建立与远程的连接步骤如下:.在VisualBasic的窗体中加入一个RemoteData控件。,.在RemoteData控件DataSourceName属性的下拉歹U表

8、中选择一个 ODB嗷据源。例如 pubs。.在RemoteData控件的SQUS性中输入SQL查询语句。例如,Selectfrompub_info 。.3绑定OLE和RemoteData控件实现图像数据的存储与编辑OLE是允许应用程序相互之间交换和显示数据的一项技术,使用 OLE可以从支持OLE 技术的任何应用程序中读取,也可以在任何支持OLE的程序中显示和编辑它。在VisualBasic 中,可利用OLE容器控件与RemoteData控件的绑定,来实现显示、存储和编辑 SQLServer 的image类型数据。.显示SQLServe image类型字段的图像数据具体步骤如下:在加入了 Rem

9、oteData控件的VisualBasic 的窗体中,添加一个OLE容器控件。创建OLE 容器控件时,会出现“插入对象:对话框,此时点击“取消”按钮,不必为该容器指定对 象。将OLE器控件的DataSource属性设置为RemoteData控件的名字,实现控件的绑定。logo。在OLE器控件。DataField属性的下拉列表中选择要显示的字段名。例如,运行应用程序。对于包含image数据类型的10go字段的数据将在OLE容器控件中显示 一幅图像。.在SQLSeve门mage类型字段中添加存储图像数据具体步骤如下:将RemoteData控件的EOFAction属性设置为rdAddNew实现的数据

10、添加功能。在VisualBaisic 的窗体中添加一个CommandButtonf空件,并编写图像文件嵌入 OLE容 器控件的程序代码。例如:PrivateSubCommand_ClickOLEl.CreateEmbed c:、图片.bm6EndSub运行应用程序,点击RemoteData控件的记录指示按钮,移动到新的记录,然后点击 CommandButton空件按钮,实现图像数据的添加入库操作。.编辑SQLServe image数据类型字段的图像数据具体步骤如下:在VisualBasic的窗体中添加一个 CommandButton空件,编写对OLEM象的编辑程序代 码。例如:PrivateS

11、ubCommand2-_ClickOLEl.DoVerbVbOLEOpenEndSub运行应用程序,点击RemoteData控件的记录指示按钮,选择需要编辑的图像,然后点 击CommandButton空件按钮,在分隔的应用程序窗口打开对象,进行图像的编辑操作。、图像文件自动入库方式的实现在的实际应用中,经常需要将图像文件批量存储,以提高数据入库操作的自动化程度。对于图像文件批量存储,在程序代码的编写中,可充分利用OLE容器控件与RemoteData控件的诸多属性和方法,加以实现。具体步骤如下:将OLEffi RemoteData控件的Visible 属性设置成False ,使OLE和RemoteData控件不 可视。建立图像文件的。编写以下基本代码,实现批处理功能。PrivateSubCommand3_ClickDimFileNameAsStringOpenc: tesffile . txtForlnputAs#1打开批处理文件。DoWhileNotEOF循环至文件尾。Input#l , FileName 读入图像文件名。MSRDCl.Resultset.AddNew 结果集添力口记录OLEl.CreateEmbedFileName 嵌入图像文件MSRDCl.Resultset.UpdateLoopCl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论