>我正在尝试在映射的驱动器上执行以下查询
"SELECT System.ItemName, System.ItemUrl, System.Search.AutoSummary, System.Search.Contents FROM JulioCompartido.SystemIndex WHERE scope ='file://JulioCompartido/Comp' and CONTAINS('"a*"')"
此命令返回"Got OleDbException,错误代码为 0x80004005L(未指定的错误)">
如果我不添加包含子句,查询可以正常工作
"SELECT System.ItemName, System.ItemUrl, System.Search.AutoSummary, System.Search.Contents FROM JulioCompartido.SystemIndex WHERE scope ='file://JulioCompartido/Comp'"
我窃取了调用函数包含的不同方法
- 包含("a*")
- 包含('\"a*\"')
- 包含("a*")
- 包含('a')
还将列的名称添加为第一个参数, 带引号和不带引号
- CONTAINS(System.Search.Content, '\"a*\"')
- CONTAINS("System.Search.Content", '\"a*\"')
我尝试组合所有以前的选项
包含不是WMI 下的有效调用,您需要使用"like".. 例如像 "%a%" 这样的字段
正如您发现的,您也不能有两个 where 子句。 你想和他们在一起..所以你最终得到了
WHERE scope ='file://JulioCompartido/Comp' AND System.Search.Contents LIKE '%a%'"
奏效了。