在sqlserver中存储多媒体数据

数据库原理-第三章作业SQL解答 数据库原理第六版书籍,第三章作业SQL语句解答,本题主要考核的 SQL 语句,一般情况对于多表查询,通常同一个查询可以有不 同方案,所以关注方案的差异。同样需要注意 SQL 运算符及其格式的规范性, 一般情况下能用一张表就不用两张表,能用两张表就不用三张表,以此类推。 立即下载
二、怎样处理多媒体数据

  1.多媒体数据的存储

  多媒体信息包括图像、声音和视频等,它们都是以二进制数据集合的形式存在的,在本系统中处理的对象是图像。SQL Server提供了Image数据类型来存储可变长度二进制数据(大小范围为0~2GB)。但Image字段并不能将多媒体数据直接装入,必须经过一些中间步骤才能将数据存进去。下面以图像数据的存储为例,给大家介绍怎样在Delphi中实现这些中间步骤。

  Delphi中的TStream数据类型以流的形式对字符或非字符数据进行存储,就像在内存中开辟了一个大小可变的临时缓存区。它不仅能方便地对外部文件进行读写,而且还可以将流中的全部数据直接转入数据库,所以用它作桥梁来完成数据存入工作是非常合适的。

  下面的SavetoImage函数的功能是将TStream数据存入数据表的Image字段中。

function SavetoImage(const Stream:TStream;const AField:TField):boolean;
var
FieldStr:string;
PFieldStr:PChar;
begin
Result:=false;
if (Assigned(AField)) and (Assigned(Stream)) then
begin
try
Stream.Seek(0,0);
SetLength(FieldStr,Stream.Size);
PFieldStr:=PChar(FieldStr);
Stream.Read(PFieldStr^,Stream.Size);
AField.Value:=FieldStr;
Result:=true;
except
end;
end;
end;

  下面是调用SavetoImage函数完成图像数据存储的程序片段。

Var
FS:TFileStream;
begin
FS:=TFileStream.Create('C:/Car001.jpg',fmOpenRead);
SavetoImage(FS,Adodataset1.FieldBy
Name('st_img'));
FS.Free;
end;

  其中,Adodataset1是与数据库进行连接的ADO数据集控件,st_img为Image字段。

  2.多媒体数据的转移

  利用SQL Server所带的BCP实用工具,可以很方便地将数据库部分或全部数据复制出来,包括二进制数据。对复制出的多媒体数据可以通过网络或移动存储设备将它们转移到远端的监控电脑上,再利用BCP将它们复制到监控数据库中,以便对多媒体数据进行回放或做其它处理。下面是简化了的将数据从数据库复制到外部文件和从外部文件复制入数据库的程序片段。

var
s1:string;
begin
s1:='bcp "select * from st2002..st2002_sf where st_flag=1" queryout c:/Media_data.dat -N -P -S sunnynt/hy2002';
winexec(PChar(s1),sw_show);
end;

  其中“select * from st2002..st2002_sf where st_flag=1”表示从st2002数据库的st2002_sf表中提取数据,“c:/Media_data.dat”为输出数据文件,参数queryout表示从查询中复制数据到外部文件,-N表示进行大容量数据复制操作,-P表示使用默认密码,-S提定进行数据复制操作的数据库服务器或实例。

var
s1:string;
begin
s1:= 'bcp ST2002..ST2002_SF in c:/Media_data.dat -n -E -P -S sunnynt /hy2002';
winexec(PChar(s1),sw_show);
end;

  其中参数in表示将数据从外部文件复制到数据表中。

  3.多媒体数据的回放

  同存储的方法类似,多媒体数据的回放也要借助TStream数据类型作桥梁,而且它基本上是存储的逆过程。

  LoadfromImage函数的功能是将数据表的Image字段数据装入TStream中。

function LoadfromImage(const AField:TField;const Stream:TStream):boolean;
var
ResultStr:string;
PResultStr:PChar;
begin
Result:=false;
if (Assigned(AField)) and (Assigned(Stream)) then
begin
try
ResultStr:=AField.Value;
PResultStr:=PChar(ResultStr);
Stream.Write(PResultStr^,length(Result
Str));
Stream.Seek(0,0);
Result:=True;
except
end;
end;
end;

  下面是调用LoadfromImage函数将数据表Image字段中的图像数据转出到外部文件中并利用图像显示控件回放图像的程序片段。

var
FS:TFileStream;
begin
FS:=TFileStream.Create('c:/Car001.jpg',fmCreate);
LoadfromImage(adodataset1.fieldby
name('st_img'),FS);
FS.Free;
image1.picture.LoadFromFile('c:/Car001.jpg');
end;

  三、小结

  其它多媒体数据类型如声音、视频等的转出过程与图像的转出完全相同,只是回放部分应针对不同媒体类型采用不同的媒体播放控件。

  上面所述的原型程序在Delphi 5/6/7+SQL Server 2000标准版中调试通过,经过适当的扩充和修改后,这些程序在笔者开发的高速公路收费系统中得到了验证。同样,这些程序也可使用在如学籍管理、档案管理、人事管理、商品交易等涉及到多媒体数据的应用系统中。

  如今已经是数码时代,DC、DV、MP3等数码设备正逐渐深入到我们生活和工作中,它们产生的图像、视频、声音等多媒体信息呈爆炸式增长,如何有效管理这些多媒体信息成为摆在我们面前的课题。本文简单讨论了利用SQL Server数据库对多媒体信息进行管理的几个基本问题,其原理同样适合Sybase、Oracle等数据库和Powerbuilder、VB等前端开发工具。
将多媒体文件保存到数据库中,或将数据库中的多媒体文件显示出来 立即下载

相关推荐

手把手教你为RK3588开发板适配RTL8211F网卡:设备树配置与PHY驱动匹配全流程

本文详细介绍了在RK3588开发板上适配RTL8211F千兆以太网PHY芯片的全流程,包括硬件原理图确认、设备树配置与PHY驱动匹配。通过实战案例和调试技巧,帮助开发者解决常见问题并优化网络性能,适用于嵌入式Linux开发中的Ethernet网络功能实现。

weixin_29184075的博客 526

如何在mysql中存储音乐和图片文件

把二进制的数据,比如图片文件和HTML文件,直接保存在MySQL数据库怎样通过HTML表单来储存这些文件,怎样访问和使用这些文件。本文概述: 在mysql中建立一个新的数据库一个怎样储存文件的例子程序一个怎样访问文件的例子程序 在mysql中建立一个新的database首先,必须在mysql中建立一个新的数据库,将会把那些二进制文件储存在这个数据库里。在例子中会使用下列结构,为了建立数据...

mysteryflower的专栏 7526

CNN经典论文(一)LeNet

Gradient-Based Learning Applied to Document Recognition(梯度学习在文档识别中的应用) Yann LeCun, Leon Bottou, Yoshua Bengio, and Patrick Haffner 发表时间:December 1998 期刊:Proceedings of the IEEE 影响:世界上第一个卷积神经网络 论文地址:Gradient-Based Learning Applied to Document Recognition

loveling丶的博客 3597

NoSQL ~ 从入门到入坑 ~ 分布式理论基础。

NoSQL ~ 从入门到入坑 ~ 分布式理论基础。

lyfGeek的博客 928

分子动力学模拟学习1-采用AmberTools21的MCPB.py构建金属蛋白的top文件

分子动力学模拟学习1-采用AmberTools21的MCPB.py构建金属蛋白的top文件

weixin_45011386的博客 3823

Dynamics 365从入门到精通:一站式掌握微软智能商业应用平台

很多新手学Dynamics 365时,容易陷入“死记功能”的误区,其实这款平台的核心价值不是“功能多全”,而是“能适配企业业务流程,通过生态集成提升效率”。先从具体业务场景入手,理解每个功能的实际价值;再通过生态集成拓展系统能力;最后通过开发实现定制化,满足企业的特殊需求。按照这个思路,新手不用害怕复杂,一步步落地实战,3个月就能从“入门”到“能独立负责项目”。如果在学习过程中遇到具体问题(比如部署报错、数据迁移失败),欢迎在评论区留言,我会结合实战经验帮你解答!

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1040

mysql插入图片_如何向MySQL中插入图片文件

root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信图片_20190711095019.jpg "$i".jpg;done;root@ytt:/var/lib/mysql-files# ls100.jpg 17.jpg 25.jpg 33.jpg 41.jpg 4.jpg 58.jpg 66.jpg 74.j...

weixin_36041020的博客 4647

【Azure 架构师学习笔记】- Azure Private Endpoint

公有云的其中一个特点是默认允许公网访问, 这就对企业环境带来风险,也是很多年前企业对公有云抵触的其中一个原因,现在这类问题已经很少,因为有了很多技术来确保云上的资源被安全地访问。其中Private endpoint(PE)就起到了很重要的作用。云上的某个资源如VM会创建在特定的网络(VNet/Subnet)上, 而其他如Storage Account , Azure SQL等PaaS服务则没有。如果你需要用VM 来访问这些PaaS资源,VM 就会通过资源的公网IP 来访问。

MVP黄钊吉(發糞塗牆) 1787

Delphi处理SQL Server多媒体数据

1.多媒体数据的存储  多媒体信息包括图像、声音和视频等,它们都是以二进制数据集合的形式存在的,在本系统中处理的对象是图像。 SQL Server提供了Image数据类型来存储可变长度二进制数据(大小范围为0~2GB)。但Image字段并不能将多媒体数据直接装入,必须经过一些中 间步骤才能将数据存进去。下面以图像数据的存储为例,给大家介绍怎样在Delphi中实现这些中间步骤。  Delphi中的T

lee576的专栏 1441

详解大模型微调数据集构建方法(持续更新)

本文详细介绍了大模型微调数据集构建方法,希望能对学习大模型的同学们有所帮助。 文章目录 1. 前言 2. 微调数据集构建方法 2.1 方法一 2.2 方法二 2.3 方法三 2.4 方法四 2.5 方法五

herosunly的博客 28万+

人工智能数据治理——解读AI时代数据治理白皮书 2025【附全文阅读】

摘要:该白皮书面向企业数字化负责人及AI项目推进人员,探讨AI时代数据治理的战略升级。提出"好数据+好数据知识"双基石理念,强调数据需满足"三高"标准(高精度、一致性、时效性)并构建语义知识库。构建四层治理框架,包括数据采集处理、合规安全、知识库建设及质量改进,并介绍AI赋能治理的新范式,如智能ETL和治理Agent体系。同时分析"软件+AI+好数据"的应用模式,为企业实现智能数据治理提供实践指导。(149字)

cdfunlove的博客 633

把图片、声音等存储到sql中

 如何不通过其他工具,把图片、声音等存储到sql中用image类型方法:1、建立过程CREATE PROCEDURE sp_textcopy (   @srvname    varchar (30),   @login      varchar (30),   @password    varchar (30),   @dbname      varchar (30),   @tbna

张朝玉的专栏 1431

2023年美高赛HiMCM:A题蒲公英 思路

蒲公英,通常称为蒲公英,是一种原产于欧亚大陆的植物,现在在世界各地都可以找到[1]。这种植物很容易通过其亮黄色的花朵(图1)和独特的“马勃”种子头(图2)来识别。该头部的每颗种子都附着在一个类似降落伞的结构上,称为“冠毛”,有利于风的传播[2]。如果处于“马勃”阶段的单个蒲公英毗邻一块开阔的一公顷土地,请创建一个数学模型来预测蒲公英在 1、2、3、6 和 12个月内的传播情况。确保您的模型考虑了各种气候条件(例如温带、干旱和热带气候)对蒲公英生长的影响。2. 蒲 公英、人类和其他植物之间的关系很复杂。

斌擎科技 7402

如何把图片、声音等存储到sql中

 如何不通过其他工具,把图片、声音等存储到sql中用image类型方法:1、建立过程CREATE PROCEDURE sp_textcopy (   @srvname    varchar (30),   @login      varchar (30),   @password    varchar (30),   @dbname      varchar (30),   @tbna

沈逸的IT专栏---shenyisyn 2020

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

如何把图片、声音等存储到SQL中 [转]

如何不通过其他工具,把图片、声音等存储到sql中 用image类型 方法:1、建立过程CREATE PROCEDURE sp_textcopy ( @srvname varchar (30), @login varchar (30), @password varchar (30), @dbname varchar (30), @t...

dengxiajuan5846的博客 145

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

如何将图片插入数据库

         如何将图片,Mp3 ,或是一些二进制类型的数据插入到sqlserver,或是 Oracle 数据库 . 方法是通过流进行操作.创建一张测试表(sqlserver2000)create table [pictable] (    [id] [int] identity (1, 1) not null ,    [img] [image] not null ) on [p

Shine的专栏 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

如何把图片、声音等存储到sql中 选择自 sxycgxj 的 Blog

           如何不通过其他工具,把图片、声音等存储到sql中用image类型方法:1、建立过程CREATE PROCEDURE sp_textcopy (   @srvname    varchar (30),   @login      varchar (30),   @password    varchar (30),   @dbname      varchar (30),

yzc的专栏 1043

Microsoft Access 数据类型\MySQL 数据类型\SQL Server 数据类型

Text 用于文本或文本与数字的组合。最多 255 个字符。 Memo Memo 用于更大数量的文本。最多存储 65,536 个字符。 Byte 允许 0 到 255 的数字。 ...

chenlao4313的博客 156

图片附件写入SQL和从SQL读取输出

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; u...

ai622428的博客 187

数据库的基本概念

7 数据库的基本概念 描述事物的符号记录称为数据包括数字,文字,图形,图像,声音,档案记录等以记录形式按统一的格式进行存储每一行记录:行每一段字段-属性-列 从而形成了表表将不同的记录组织在一起,就形成了表是用来存储具体数据的 数据库就是表的组合,是存储数据的仓库以一定的组织方式存储的相互有关的数据 数据库系统发展史 第一代数据库自20世纪60年代起,第一代数据库系统问世。他们是层次模型与网...

CYQ419的博客 249

html5多媒体播放,基于HTML5的多媒体播放网站

摘要:随着互联网的发展和人民生活水平的提高,在网上分享音乐,分享视频,成为了现代网民的一种娱乐方式.音乐视频分享网站为广大用户提供了一个分享的平台,通过这个平台,用户可以享受到上传,分享,播放和管理资料的服务.因其有着方便快捷,操作简单的优点,此类网站一直以来备受互联网用户的喜爱.同时,用户对于视频音乐分享网站在性能,用户体验的要求较高.而HTML5的出现,给了视频音乐分享网站很大的优化空间.HT...

weixin_39703468的博客 290

ASP.NET 网上教学系统的设计与实现(论文+源码)_Nueve

论坛为问题求解,回答问题的主要地方,采用树型导航菜单,可能很方便的在各不同讨论区之间穿梭,结合Java Script 实现可变的框架结构,是让用户根据自己的喜爱,随意的调整页面的显示方式,可以更好的配合不同分辨率显示器的显示效果,方便用户的文章阅读。课程讨论区是最主要的板块,老师的授课资料就在这一板块里,再加上聊天室功能,可以进行师生间、同学间的网上问题交流、问题解答,本页面因为包含的页面较多,所以也是采用可变的框架结构,用户可以根据自己的喜好随意的调整。这里是用户间可以随意的交流的场所。

weixin_69071556的博客 102
上一篇: PI小数点后一百万位
下一篇: 看到最简单的用非Form的控件拖动Form
libra01
博客等级 码龄26年 0粉丝 41原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值