如何将多媒体文件储存至SQLServer
来源:优易学  2011-12-9 18:41:59   【优易学:中国教育考试门户网】   资料下载   IT书店

  背景
  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"

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训