0
我嘗試以下SQL在dataimport配置文件的實體標籤:Solr的dataimport和SQL和XML逃生
<entity name="Page" dataSource="a1" query="SELECT &apos;26484-&apos;&amp;`book`.id&amp;&apos;-&apos;&amp;`book`.page&amp;&apos;-&apos;&amp;`book`.part AS PageID, `book`.id AS pid, `book`.nass AS Content, `book`.part AS Part, `book`.page AS PageNum FROM `book` ORDER BY `book`.id, `book`.page">
SQL查詢中包含的字符應在XML被轉義' and &
。不過,我recive在日誌中出現以下錯誤:
DocBuilder Exception while processing: Page document : SolrInputDocument(fields: []):org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT '26484-'&`book`.id&'-'&`book`.page&'-'&`book`.part AS PageID, `book`.id AS pid, `book`.nass AS Content, `book`.part AS Part, `book`.page AS PageNum FROM `book` ORDER BY `book`.id, `book`.page Processing Document # 1
和
DataImporter Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT '26484-'&`book`.id&'-'&`book`.page&'-'&`book`.part AS PageID, `book`.id AS pid, `book`.nass AS Content, `book`.part AS Part, `book`.page AS PageNum FROM `book` ORDER BY `book`.id, `book`.page Processing Document # 1
我用ucanaccess JDBC驅動程序。
當我試圖從SQL查詢中刪除concatination所以,刪除轉義字符,我沒有得到這個錯誤,但我有solrWriter關於重複的唯一鍵的警告。我理解這個警告。然而,我怎麼能夠寫使用上面顯示的SQL查詢?
有沒有必要逃避單引號,你可以把'''直接放到查詢中。 – cheffe 2014-10-09 07:31:49
每個轉義字符都需要'&'。因此,您需要將'&'替換爲'& ''。 – cheffe 2014-10-09 07:33:32