C# 从C在远程计算机上运行windows搜索查询时出错#
当我尝试执行以下OLEDB命令以编程方式查询同一域上远程计算机(ALEC-HP)上的搜索索引时,我收到以下错误消息 未指定错误:-2147219688(0x80040718) 在本地计算机上,可以看到共享C# 从C在远程计算机上运行windows搜索查询时出错#,c#,windows-search,C#,Windows Search,当我尝试执行以下OLEDB命令以编程方式查询同一域上远程计算机(ALEC-HP)上的搜索索引时,我收到以下错误消息 未指定错误:-2147219688(0x80040718) 在本地计算机上,可以看到共享\\ALEC-HP\Simon.ALEKATEST.000 SELECT System.ItemNameDisplay,SYSTEM.ITEMURL,System.DateModified, System.ItemName, System.Search.Rank, System.
\\ALEC-HP\Simon.ALEKATEST.000
SELECT System.ItemNameDisplay,SYSTEM.ITEMURL,System.DateModified,
System.ItemName, System.Search.Rank, System.Keywords,
System.Search.AutoSummary,System.Search.GatherTime, System.ItemType
FROM ALEC-HP.SystemIndex
WHERE Scope='file://ALEC-HP/Simon.ALEKATEST.000'
AND CONTAINS(*,'"April Dwyer"',1033)
如果查询简化为
SELECT System.ItemNameDisplay,SYSTEM.ITEMURL,System.DateModified,
System.ItemName, System.Search.Rank, System.Keywords,
System.Search.AutoSummary,System.Search.GatherTime, System.ItemType
FROM ALEC-HP.SystemIndex
WHERE CONTAINS(*,'"April Dwyer"',1033)
同样的错误也会发生
对本地索引的查询
SELECT System.ItemNameDisplay,SYSTEM.ITEMURL,System.DateModified,
System.ItemName, System.Search.Rank, System.Keywords,
System.Search.AutoSummary,System.Search.GatherTime, System.ItemType
FROM "SYSTEMINDEX"
WHERE CONTAINS(*,'"April Dwyer"',1033)
运行正常。在ALEC-HP上重建搜索索引没有帮助
远程计算机ALEC-HP运行Windows 7,本地搜索在该计算机上正常工作
- 使用运行Win 8.1的远程计算机,远程索引查询运行正常李>
- 在运行查询的远程计算机和未运行查询的远程计算机上,我看不到搜索索引文件夹(C:\Program Data\Microsoft\Search)的权限有任何显著差异李>
- Win 8.1远程计算机似乎没有包含Win 7计算机上存在的.ci文件的搜索索引文件夹C:\Program Data\Microsoft\search\Data\Applications\Windows\Project\SystemIndex\Indexer\CiFiles李>
- 我认为这些是Windows Search Indexer使用的edb数据库(Jet Blue)的数据库文件李>
- 本地计算机运行Windows 8.1
现在,运行Win 8.1的远程计算机的搜索索引上出现问题。对于远程计算机上的查询,
scope='File:UNCPath'
子句必须包含与本地计算机共享的UNC路径(路径可以使用前斜杠或后斜杠)。即:
如果路径对本地计算机不可见,或者范围不存在,则会出现未指定的错误。一条信息更丰富的错误消息会很有帮助
p、 从本地机器访问UNC路径并不是全部。在远程计算机上,搜索位置列表包括两个配置文件文件夹文件夹中的“我的文档”文件夹,这两个文件夹都是共享的,并且对系统(用于运行远程搜索的帐户)具有相同的权限。共享权限相同,但在scope参数中使用某个配置文件文件夹时,会出现未定义错误。搜索其他配置文件文件夹的功能与预期相同。对于远程计算机上的查询,
scope='File:UNCPath'
子句必须包含与本地计算机共享的UNC路径(路径可以使用前斜杠或后斜杠)。即:
如果路径对本地计算机不可见,或者范围不存在,则会出现未指定的错误。一条信息更丰富的错误消息会很有帮助
p、 从本地机器访问UNC路径并不是全部。在远程计算机上,搜索位置列表包括两个配置文件文件夹文件夹中的“我的文档”文件夹,这两个文件夹都是共享的,并且对系统(用于运行远程搜索的帐户)具有相同的权限。共享权限相同,但在scope参数中使用某个配置文件文件夹时,会出现未定义错误。其他配置文件文件夹的搜索功能与预期相同。错误代码0x80040718可在
WindowsSearchErrors.h
中找到。它对应于:
QRY_E_INVALIDSCOPES
The scopes specified for the query were incorrectly formatted.
如果您想搜索另一台计算机的本地目录,您必须:
- 在目录前面加上服务器名称前缀
- 在作用域中提供有效的UNC共享
FROM SystemIndex
下面的示例中显示了使用的远程查询。添加ComputerName将前面的示例转换为远程查询
FROM [<ComputerName>.]SystemIndex
错误代码0x80040718可在
WindowsSearchErrors.h
中找到。它对应于:
QRY_E_INVALIDSCOPES
The scopes specified for the query were incorrectly formatted.
如果您想搜索另一台计算机的本地目录,您必须:
- 在目录前面加上服务器名称前缀
- 在作用域中提供有效的UNC共享
FROM SystemIndex
下面的示例中显示了使用的远程查询。添加ComputerName将前面的示例转换为远程查询
FROM [<ComputerName>.]SystemIndex