java - SOLR sqlserver无法执行查询

标签 java sql-server solr

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

<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

最佳答案

该用户名没有访问权限。 我设法错过了“登录失败”并在这里操之过急。

谢谢

关于java - SOLR sqlserver无法执行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44506949/

相关文章:

java - Android Edittext行和字符限制

sql - 用户定义的函数在sql server中返回null

c# - Linq Sql 数据库上下文缺失方法

solr - 如何在 Solr 中配置词干提取?

java - Solr找不到库

solr - 获取字段值唯一的不同 SOLR 行

java - Apache Ignite - 如何发展带注释的类的架构/属性

java - 我自己的网页没有显示在本地主机上

java - 使用 jni 时将第三方线程附加到 vm

sql - 添加附加列时,CROSS APPLY 查询非常慢