日期:2014-05-20  浏览次数:20739 次

请问如何不建立临时文件直接对数据库中Word对象进行全文搜索?帮忙UP者加分
问题如下:
        数据库中存有Word文档(以二进制形式存储),现需要对字段中的Word文档进行全文搜索,而且不建立临时的Word文件。

        目前已经实现了将Word文档从数据库中读出到一个Byte数组,并存成一个临时的Word文件,然后利用Word控件里将这个Word文件载入,再将其中的内容复制到字符串中,然后对其进行搜索

        但是这种方法效率太低,请问各位大侠有没有什么方法可以不建立临时文件,直接在内存中将以Byte数组存储的Word文件直接赋值给Word控件?多谢!

------解决方案--------------------
帮你Up一下,记得给分哈。。
------解决方案--------------------

------解决方案--------------------
使用ADO.net直接读取doc文件,解决select ,快得多
------解决方案--------------------
mark & up
------解决方案--------------------
如果可以使用oledb驱动以数据库的形式访问那就最好,直接select就可以了
或者分析doc文档格式,直接把内容解释出来更好。
------解决方案--------------------
doc文档内容不一定有格式,所以你那种方法可能是唯一的方法
若想提高搜索速度只能对数据进行格式化,然后弄进数据库,使用select搜索(其实select需要索引搜索才有效提高速度)
------解决方案--------------------
帮你Up一下,记得给分哈。。
------解决方案--------------------
up
------解决方案--------------------
建议还是建一个临时文档吧,本身Word处理都是这样的。那样再用Word的对象来做,我觉得这种方法安全。
------解决方案--------------------
UP
正则表达式?
------解决方案--------------------
建议:
存的时候分开存,把纯文本存下来
用空间换时间,只是存的时候多耗费一点时间
------解决方案--------------------
MARK
------解决方案--------------------
汗~!不是吧?
你的是WORD文档啊,SQL SERVER的全文索引吗?
SQL SERVER的全文索引本身就可以把WORD 、EXCEL的内容搜索出来,没必要搞什么临时文件。
建议楼主看一下SQL SERVER的全文索引的相关资料。
------解决方案--------------------
哇,高手一出,问题....
------解决方案--------------------
MARK
------解决方案--------------------
up