繁体   English   中英

SOLR和Sybase:DIH完全导入失败

[英]SOLR & Sybase: DIH full-import failure

我尝试从需要Sybase驱动程序进行连接的数据库中导入。

使用数据配置从DIH完全导入:

<dataConfig>
    <dataSource type="JdbcDataSource"
        driver="sybase.jdbc4.sqlanywhere.IDriver"
               url="jdbc:sqlanywhere:eng=dbn;dbn=dbname;links=tcpip{host=10.94.XXX.XX}"
                user="usr" 
        password="pwd" />
    <document name="products">
      <entity name="company" pk="id" query="call WS.getFieldsLimited('RU', '2011-10-01', 10)">
            <field column="ID" name="crefo" />
...
...
        </entity>
    </document>
</dataConfig>

失败并抛出异常

严重:完全导入失败org.apache.solr.handler.dataimport.DataImportHandlerException:无法执行查询:调用WS.getCrefoSearchFieldsLimited('RU','2011-10-01',10)在org.apache处处理文档#1。 org.apache.solr.handler.dataimport.JdbcDataSource $ ResultSetIterator。(JdbcDataSource.java:253)处的solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)在org.apache.solr.handler.dataimport.JdbcDataSource org.apache.solr.handler.dataimport上的.getData(JdbcDataSource.java:210).org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:58上的JdbcDataSource.getData(JdbcDataSource.java:39) )位于org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:71)位于org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:237)位于org.apache.solr。 org.apache.solr.handler.dataimport.DocBuil上的handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:357) org.apache.solr.handler.dataimport上的der.doFullDump(DocBuilder.java:242).org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:上的DocBuilder.execute(DocBuilder.java:180) 331)at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389)at org.apache.solr.handler.dataimport.DataImporter $ 1.run(DataImporter.java:370)原因:java。 org.apache.solr.handler.dataimport.JdbcDataSource $ ResultSetIterator处的lang.NullPointerException。(JdbcDataSource.java:251)...还有11个

我使用错误的URL或错误的dataSource声明吗? 我可以通过sql客户端访问该过程。

Java绕着语法

(RU', '2011-10-01', 10)

在跟踪的第二行。 我想你是说

 ('RU', '2011-10-01', 10)

Stack Overflow的自动语法突出显示功能在这里起到了帮助。

为了减少使用编程语言嵌入查询的麻烦,请执行以下操作:

  1. 嵌入之前,请在解释器(如果Sybase有一个)中尝试查询
  2. 在支持该查询语言语法突出显示的文本编辑器中写出查询
  3. 注意查询语言的转义字符(%hh在URL中转义字符,在SQL中转义\\)
  4. 使用语言支持的字符串格式和多行字符串功能

-在职业生涯的前四个月中(除其他事项外)使用Python和PHP做SQL和Solr查询的人。

当前,数据导入处理程序不支持存储过程调用。 参见https://issues.apache.org/jira/browse/SOLR-1262

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM