Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337316
  • 博文数量: 1051
  • 博客积分: 53280
  • 博客等级: 大将
  • 技术积分: 6670
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:21
文章分类

全部博文(1051)

文章存档

2011年(1)

2008年(1050)

我的朋友

分类:

2008-09-09 15:47:01


  本技巧摘自SQL Server杂志的一期。如需了解更多的技巧,请访问SQL Server的使用技巧中心。
  
  问:我需要将Microsoft Word文档导入至SQL Server并索引这些文档,以便在关系查询中使用这些文档。怎样导入和索引文档呢?
  答:SQL Server允许您以多种方式导入Word文档。让我们看看几种最常用的方法。请注意,在将文档导入至SQL Server之前,您需要创建一个image数据类型列,用于存放数据。然后,您可以使用textcopy.exe命令行工具将image文件读入数据库,从而完成文档的导入操作。如果需要该工具的基本说明文档,请在命令提示状态下键入textcopy /?。将Word文档导入SQL Server的另一个方法是使用Microsoft ActiveX Directory Object(ADO)Stream接口编写导入代码。您可以在Microsoft产品支持服务(PSS)的通过使用ADO Stream对象访问和修改SQL Server BLOB数据一文中找到示例代码。
  
  此外,您也可以将二进制数据移到SQL Server中。有关这一方法的详细说明,请参阅PSS的使用ADO检索和更新SQL Server文本域一文。移动二进制数据允许您将数据的一部分存放在数据库中,这在需要控制数据格式时尤其有用。例如,如果只需要数据中1,000到1,010之间的字节,导入二进制数据的速度远远高于使用ADO Stream接口的速度,这是由于SQL Server从磁盘上检索数据的量大为减少。人们通常使用这一技术来位掩码,用于表示应用程序的开或关标志位。
  
  SQL Server 2000自带了说明了如何移动二进制数据的示例代码。如需查看该代码,只需在安装有SQL Server 2000光盘上代码示例的驱动器上选择 \Program Files\Microsoft SQL Server\80\Tools\DevTools\Samples\ado路径。展开该可执行文件,在Visual Basic目录下查找Samples子目录。在Employee示例下,注意一下该代码是如何使用FillDataFields()函数的。
  
  如需索引Word文档,SQL Server 7.0和SQL Server 2000都提供了全文搜索组件。该组件混合使用了多种技术,用以索引大型文本和image列。在执行全文搜索时,您需要指定image列所含的文件类型,以及从二进制数据中析取信息所需的筛选(filter)。有关使用全文索引的详细信息,请参阅SQL Server在线书籍中的相关主题,并阅读David Jones 2000年7月发表在SQL Server杂志网站上的名为构建更好的搜索引擎一文。请注意,索引Word文档并不会自动生成包含文档中关键字的一组关系表。但是,索引文件让您将这些Word文档包含在您的搜索中。以下是从数据中析取关键字的可行方式:
  
  使用OLE自动处理从文档中读取用户定义的关键字。在装载该文档时将这些关键字保存在关系表中。
  使用OLE自动处理打开文档并将其保存为文本(.txt)格式。为了析取重要的词语,您可以使用自己的“词语分析器”遍历该文本文件。文字分析器查看文档中的每个词语,去除一些无用文字,并将每个唯一的词语与其出现的次数一道起来。
  在新的全文索引文档中搜索特定的关键字,并将这些关键字输入到关系表中。
  SQL Server 2000提供了多个强大的工具和接口,用于帮助用户实现二进制Microsoft Office文档的快速装载、搜索和检索。
  
  
【责编:admin】

--------------------next---------------------

阅读(127) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~