解决MSSQL全文检索不支持office2007,2010中docx等格式的问题
搜了很多文章都没找到解决方案,最后还是在微软的官网上找到补丁解决。
第一步:首先下载
Microsoft Office 2010 (Beta) 筛选包
http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=49429f87-212c-4dd7-b2fa-c72837a6746b&displaylang=zh-cn
第二步:在SQL2008中注册新的filter
参考:How to register Microsoft Filter Pack IFilters with SQL Server 2005 and with SQL Server 2008
http://support.microsoft.com/kb/945934/en-us
EXEC sp_fulltext_service 'load_os_resources', 1
第三步:一定要重新打开一次office2010或者office2007,这个时候office会自己加上一些组件(最好在服务器上安装office2010)
第四步:重新启动一下ms sqlserver服务;为了确保已经安装成功,在SQL中执行如下命令查看绑定后缀名结果
EXEC sp_help_fulltext_system_components 'filter';然后重新使用原来的方法导入一个新的docx到sqlserver中,就可以使用全文检索查询到新导入的office2007,2010的文件了
第五步:如果发现原来传的docx还查不出来,就要重新填充一次索引。
找到你要table->全文索引->启用完全填充 ,执行后即可。
参考网址:
Full-Text Search Filters
http://technet.microsoft.com/en-us/library/ms142499.aspx
sys.fulltext_document_types 语法
http://technet.microsoft.com/en-us/library/ms174373.aspx
google出来的关键字:Full-text Filter docx