如何将多媒体文件储存至SQLServer |
|
www.nanhushi.com 佚名 不详 |
背景 SQL Server提供一个Image的资料型别,允许使用者把binary的资料可以存放在Table内,举凡声音、影像等,都可以很便利的来透过资料库来维护,因此建立一个Client/Server级的影像资料库并非难事。 VFP也提供一个General型别的栏位,能够让我们把OLE的资料储存至VFP的Table内,由於VFP是最佳的前端开发工具之一,所以如果您走的是Client/Server架构的话,很可能您会把属於影音的资料,全部放在後端,而由VFP在需要时,才予以读取,减少网路上的传输。
技术说明 有关於VFP如何透过ODBC与SQL Server上的资料库连结,飞狐博士假设您都已经了解,在此不再赘述。 要把binary资料经由VFP 储存至後端的SQL Server,您需要先在VFP中利用General栏位来储存您的影音资料,然後利用SQL Pass Through的方式,执行SQL Server的INSERT INTO <table> 的指令来完成。但最重要的技巧在於,您不能直接把影音档的档名直接传给SQL Server,因为SQL Server根本无法去辨识格式,您必须利用VFP中的General栏位,把资料送至後端,因为这是SQL Server与前端唯一约定的资料传输方式。以下举例说明: 在後端的SQL Server上有一个人事资料档,档名为 employee,这个档有3个栏位: 栏位名称 资料型别
说明 emp_id int 员工编号 name char(10) 员工姓名 photo image 员工相片 而在前端有一个VFP的 TABLE,档名为vfp_table,其中有一个栏位名称为general_fld, 型别为 General。
示例 nSql_Handle = SQLConnect( 厎. ) =SQLEXEC( nSql_Handle , " INSERT INTO employee( emp_id , emp_name , photo ) VALUES( '003' , '飞狐博士' , ?vfp_table.general_fld)" ) 请读者注意笔者是如何把general_fld的内容当做参数传送给SQL Server: ?vfp_table.general_fld 这就是本期的秘技,请会员们务必牢记。
如何把 .WAV档放入VFP的TABLE中 如果希望利用暂存档来存放 .WAV或.GIF的资料,请利用下利的技巧: CREATE CURSOR temp_ole ( g_fld G) && 建立一个具有General栏位的cursor APPEND BLANK APPEND GENERAL g_fld FROM "C:\Windows95\media\mypic.gif"
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: SQL-Server对象信息的获取 下一篇文章: 有关重复记录的删除 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|