簡體   English   中英

C#Windows在映射的網絡驅動器上搜索

[英]C# windows search on mapped network drive

我正在嘗試從ac#.NET 3.5 Web應用程序在映射的網絡驅動器上執行Windows搜索。 它在本地驅動器上工作正常。

我可以映射驅動器,也可以將該映射的驅動器添加到庫中,然后從“開始”菜單成功進行交互式搜索。 它查找文件,甚至查找文件中的文本。 該驅動器已在服務器上建立索引。

當我嘗試使用代碼在映射的驅動器中查找文件夾的文件列表時,則不返回任何內容。 我不確定該文件夾需要在搜索字符串中是什么,因為它存在於允許搜索它的庫(文檔)中。

System.Data.OleDb.OleDbConnection connection = new
System.Data.OleDb.OleDbConnection();
connection.ConnectionString = "provider=Search.CollatorDSO.1
EXTENDED?PROPERTIES='Application=Windows'";
        connection.Open();
string sqlString = @"SELECT System.ItemName FROM SystemIndex WHERE 
System.ItemType <> 'Directory' AND DIRECTORY='File:Z:\\'";
System.Data.OleDb.OleDbCommand cmd = new
System.Data.OleDb.OleDbCommand(sqlString, connection);
System.Data.OleDb.OleDbDataReader reader = null;
reader = cmd.ExecuteReader();
while (reader.Read())
{
    ...
}

讀者一無所獲。 Z:驅動器是映射的驅動器。

我無法在“程序管理器”>“索引選項”中添加映射的驅動器。 沒有列出。

我通過在“ SystemIndex”之前和SQL字符串中的共享名稱中添加服務器名稱來解決問題,如下所示:

字符串sqlString = @“從MyServer.SystemIndex中選擇System.ItemName,在其中System.ItemType <>'Directory'AND DIRECTORY ='File:// MyServer / MyShare / MyFiles'”;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM