我已经在 Windows 2012 上安装了 Windows Search Service 功能。现在我正在测试应该将查询从 Windows 2008 发送到 Windows 2012 目录的表单。Windows 2008 也安装了 Windows Search 服务来安装/注册 db 驱动程序。
该表单只能在 Windows 2012 本地正常工作,但不能从 Windows 2008 到 Windows 2012(远程访问目录),Wireshark 不显示传出查询。
查询本地目录(成功):
("SELECT System.FileName,System.ItemPathDisplay,System.DateCreated FROM SystemIndex WHERE SCOPE='file:C:/test'", SearchConnect);
查询远程目录 Windows 2008 > Windows 2012(不成功)
("SELECT System.FileName,System.ItemPathDisplay,System.DateCreated FROM MyServer.SystemIndex WHERE SCOPE='file:C:/test'", SearchConnect);
("SELECT System.FileName,System.ItemPathDisplay,System.DateCreated FROM SystemIndex WHERE SCOPE='file://MyServer/C:/test'", SearchConnect);
部分代码 - 测试期间仅修改 select
{
string connectionString = "Provider=Search.CollatorDSO.1;Extended Properties='Application=Windows'";
OleDbConnection SearchConnect = new OleDbConnection();
SearchConnect.ConnectionString = connectionString;
OleDbDataAdapter SearchAdpt = new OleDbDataAdapter("SELECT System.FileName,System.ItemPathDisplay,System.DateCreated FROM SystemIndex WHERE SCOPE='file:C:/test'", SearchConnect);
SearchAdpt.Fill(searchResults);
}
参考