Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从C在远程计算机上运行windows搜索查询时出错#_C#_Windows Search - Fatal编程技术网

C# 从C在远程计算机上运行windows搜索查询时出错#

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.

当我尝试执行以下OLEDB命令以编程方式查询同一域上远程计算机(ALEC-HP)上的搜索索引时,我收到以下错误消息

未指定错误:-2147219688(0x80040718)

在本地计算机上,可以看到共享
\\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共享
从MSDN:

要查询远程计算机的本地目录,请在SCOPE或DIRECTORY子句中包含目录前的计算机名称和远程计算机上的通用命名约定(UNC)路径

您可以在中找到更多信息

本地和远程查询 您可以在本地或远程执行查询。下面的示例中显示了使用的本地查询。本地查询仅查询本地SystemIndex目录

FROM SystemIndex
下面的示例中显示了使用的远程查询。添加ComputerName将前面的示例转换为远程查询

FROM [<ComputerName>.]SystemIndex

错误代码0x80040718可在
WindowsSearchErrors.h
中找到。它对应于:

QRY_E_INVALIDSCOPES
The scopes specified for the query were incorrectly formatted.
如果您想搜索另一台计算机的本地目录,您必须:

  • 在目录前面加上服务器名称前缀
  • 在作用域中提供有效的UNC共享
从MSDN:

要查询远程计算机的本地目录,请在SCOPE或DIRECTORY子句中包含目录前的计算机名称和远程计算机上的通用命名约定(UNC)路径

您可以在中找到更多信息

本地和远程查询 您可以在本地或远程执行查询。下面的示例中显示了使用的本地查询。本地查询仅查询本地SystemIndex目录

FROM SystemIndex
下面的示例中显示了使用的远程查询。添加ComputerName将前面的示例转换为远程查询

FROM [<ComputerName>.]SystemIndex