欢迎来到天天文库
浏览记录
ID:22567757
大小:58.50 KB
页数:7页
时间:2018-10-30
《基于delphi和sql server的图像数据存取技术 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于Delphi和SQLServer的图像数据存取技术摘要:本文介绍了MicrosoftSQLServer中大型二进制对象数据的存取机制,针对Delphi开发工具,介绍了一种通过文件流来存取MicrosoftSQLServer中的图像数据的方法。 关键词:大型二进制对象image数据类型文件流数据库引擎 一、引言 随着信息技术的发展,越来越多的系统中需要存取图像数据,而对于图像数据的保存有两种方法:一种是将图像数据以文件形式存放在磁盘中,在数据库中只存储这些文件的路径和文件名;另一种是将图像数据和其他数据一样直接存储在数据库中。当要处理大量图像数据时,把图像数据直接存储在数据库中有
2、许多优点: 易于管理当图像数据与其他数据一起存储在数据库中时,图像数据与其他数据是一起备份和恢复的,这样就减少了图像数据与其他数据不同步的机会,也降低了其他用户无意中删除了文件系统中图像数据文件的风险。另外,由于图像数据与其他数据一起存储在数据库中,其插入、更新和删除可在同一个事务中实现,确保了数据的一致性。 可伸缩性尽管文件系统被设计为能够处理大量不同大小的对象,但是文件系统不能对大量小文件进行优化。在这种情况下,数据库系统可以进行优化。 可用性数据库复制允许在分布式环境中复制、分配和潜在地修改数据。在主系统失效的情况下,日志转移提供了保留数据库备用副本的方法。 因此,要真正做
3、到各类数据在数据库中安全管理,研究和探索直接将图像数据存储在数据库中的方法是非常必要的。 二、MicrosoftSQLServer系统中的BLOB数据及其存取机制 BLOB(binarylargeobject,大型二进制对象)数据类型主要用于保存多媒体对象,比如图像、视频和声音。在MicrosoftSQLServer系统中,BLOB可以是text、ntext或image数据类型。其中,image数据类型用来存储变长的二进制数据,最大长度是2GB,非常适合存储图像数据。 BLOB数据在MicrosoftSQLServer系统中的存储方式不同于普通的数据类型,对于普通类型的数据系统直接
4、在用户定义的字段上存储数据值,而对于BLOB类型数据,系统开辟新的存储页面来存放这些数据,表中BLOB类型数据字段存放的仅是一个16字节的指针,该指针指向存放该条记录的BLOB数据的页面。 在MicrosoftSQLServer系统中,当数据小于8000字节时,可以用普通的SQL语句(SELECT、INSERT、UPDATE、DELETE)来完成对数据的查询操纵,当数据大于8000字节时,MicrosoftSQLServer提供了zy_cticrosoftSQLServer系统中图像数据的简单方法。在SQLServer系统中建立表TEST,表中的字段及属性见表1。 表1TEST的字段
5、及属性 三、使用Delphi存取MicrosoftSQLServer中的图像数据 图像数据的存储格式有很多种类,常见的有BMP、JPEG、GIF等等,如果按照每种格式去单独编写存取代码,就会使问题复杂化。但是,不论哪种格式的存盘文件,都可以看成文件“流”的形式。Delphi中的TFileStream数据类型以流的形式对字符或非字符数据进行处理,就像在内存中开辟了一个大小可变的临时缓存区。它不仅能方便地对外部文件进行读写,而且还可以将流中的全部数据直接转入数据库,可用它作桥梁完成图像数据的存取。 (一)数据集组件的选择 在Delphi连接数据库的BDE方式中,通常数据集组件可以选择
6、TTable或TQuery,如果使用TQuery组件存取image类型数据,不可避免地就要使用age类型数据的存取。<摘要:本文介绍了MicrosoftSQLServer中大型二进制对象数据的存取机制,针对Delphi开发工具,介绍了一种通过文件流来存取MicrosoftSQLServer中的图像数据的方法。 关键词:大型二进制对象image数据类型文件流数据库引擎 一、引言 随着信息技术的发展,越来越多的系统中需要存取图像数据,而对于图像数据的保存有两种方法:一种是将图像数据以文件形式存放在磁盘中,在数据库中只存储这些文件的路径和文件名;另一种是将图像数据和其他数据一样直接存储在
7、数据库中。当要处理大量图像数据时,把图像数据直接存储在数据库中有许多优点: 易于管理当图像数据与其他数据一起存储在数据库中时,图像数据与其他数据是一起备份和恢复的,这样就减少了图像数据与其他数据不同步的机会,也降低了其他用户无意中删除了文件系统中图像数据文件的风险。另外,由于图像数据与其他数据一起存储在数据库中,其插入、更新和删除可在同一个事务中实现,确保了数据的一致性。 可伸缩性尽管文件系统被设计为能够处理大量不同大小的对象,
此文档下载收益归作者所有