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