[英]Unspecified error (Exception from HRESULT: 0x80004005(E_FAIL)) (Web Service)
[英]Windows Search SQL: Semicolon in LIKE statement causes exception (E_FAIL 0x80004005)
我正在向Windows搜索引擎查詢ASP.NET Web應用程序中的一些文檔。 我正在尋找標題包含字符串“; IT”的所有文檔(除其他條件外,從下面的示例中刪除)。 我正在通過ADO.NET,所以我的代碼看起來像這樣(剝離了一些不重要的細節):
var connString = "Provider=Search.CollatorDSO;" +
"Extended Properties='Application=Windows';";
var conn = new OleDbConnection(connString);
conn.Open();
StringWriter wSql = new StringWriter();
wSql.WriteLine("SELECT System.Title, System.Filename, System.Keywords, " +
"System.Size, System.ItemPathDisplay, System.ItemUrl, " +
"System.Search.Rank, System.DateCreated, System.DateModified " +
"FROM SYSTEMINDEX WHERE System.Title LIKE '%; IT%'");
var cmd = new OleDbCommand(wSql.ToString(), conn);
var adapter = new OleDbDataAdapter(cmd);
var result = new DataSet();
adapter.Fill(result, "doc"); // <== HERE THE RUNTIME EXPLODES
當我運行此代碼時,在最后一行拋出異常,代碼為“ E_FAIL 0x80004005”。 如果我從LIKE語句中刪除分號,則所有功能都像一個超級字符,但是顯然我沒有預期的結果,因為我真的只需要標題對應於給定字符串的文檔。
我嘗試在Windows Search SQL中搜索保留字符和/或轉義,但是沒有運氣。
任何想法?
謝謝並恭祝安康,
克勞迪奧
我發現Windows Search API不支持Like運算符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.