太阳能与太阳能Sybase:DIH 完全导入失败
我尝试从需要 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) 处理文档 # 1 在 org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72) 在 org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator。(JdbcDataSource.java:253) 在 org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:210) 在 org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39) 在 org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:58) 在org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:71) 在 org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:237) 在 org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:357) 在 org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:242) 在 org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180) 在 org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:331) 在org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389) 在 org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370) 引起原因:java.lang.NullPointerException 在 org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator。(JdbcDataSource.java:251) ... 11 更多
我是否使用了错误的 url 或错误的数据源声明? 我可以通过 sql 客户端访问该过程。
I try to import from a DB that requires Sybase driver for connection.
Full-import from DIH with data-config:
<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>
Fails and throws an exeption
SEVERE: Full Import failed
org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: call WS.getCrefoSearchFieldsLimited('RU', '2011-10-01', 10) Processing Document # 1
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:253)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:210)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:58)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:71)
at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:237)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:357)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:242)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:331)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389)
at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370)
Caused by: java.lang.NullPointerException
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:251)
... 11 more
Do I use a wrong url or bad dataSource declaration?
I can acces that procedure through sql client.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
语法
Java 正在抄袭跟踪第二行的 。我猜你的意思是
Stack Overflow 的自动语法突出显示在这里确实有所帮助。
为了减少在编程语言中嵌入查询的烦恼:
-某人在其职业生涯的前四个月中从事(除其他外)SQL以及 Python 和 PHP 中的 Solr 查询。
Java was cribbing about the syntax of
in second line of the trace. I guess you mean
Stack Overflow's auto syntax highlighting did help here.
To be less exasperated with embedding queries in a programming language:
-Someone who spent his first four months of his career doing (among other things) SQL and Solr queries in Python and PHP.
目前数据导入处理程序不支持存储过程调用。请参阅https://issues.apache.org/jira/browse/SOLR-1262
Currently the Data Import Handler does not support stored procedure calls. See https://issues.apache.org/jira/browse/SOLR-1262