SOLR sqlserver无法执行查询

时间:2017-06-12 19:05:01

标签: java sql-server solr

我正在尝试设置SOLR,以便为一些大表索引并允许更快的文本搜索。 尝试导入时,出现错误“无法执行查询” 以下是我的dataconfig文件中的内容:

<dataConfig>
<dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost;databaseName=tempdb" readOnly="True" user="TestSA" password="testtest"/>
<document>
    <entity name="testTable" query="select * from TestTable">
        <field column="id" name="id" />
        <field column="Test" name="test" />
    </entity>
</document>

solrconfig.xml文件与我添加的示例仅相同:

     <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/dist/" regex="sqljdbc42\.jar" /> 

  <lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib" regex=".*\.jar" />

(请注意,sqljdbc42.jar文件已复制到dist /文件夹。

我完全不知道为什么我会收到这个错误。

这是我收到的日志:

    Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: select * from TestTable Processing Document # 1
    at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:270)
    at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:415)
    at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:474)
    at org.apache.solr.handler.dataimport.DataImporter.lambda$runAsync$0(DataImporter.java:457)
    at org.apache.solr.handler.dataimport.DataImporter$$Lambda$176/1884110365.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: select * from TestTable Processing Document # 1
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:416)
    at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:329)
    at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:232)
    ... 5 more
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: select * from TestTable Processing Document # 1
    at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:69)
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:327)
    at org.apache.solr.handler.dataimport.JdbcDataSource.createResultSetIterator(JdbcDataSource.java:288)
    at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:283)
    at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:52)
    at org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
    at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
    at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:267)
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:475)
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:414)
    ... 7 more
Caused by: java.lang.NullPointerException
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.createStatement(JdbcDataSource.java:342)
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:318)
    ... 15 more

1 个答案:

答案 0 :(得分:0)

用户名无权访问。 我设法错过了&#34;登录失败&#34;并在这里跳枪。

由于