【问题标题】:Null Poiner Exception while configuring solr and sql server配置 solr 和 sql server 时出现空指针异常
【发布时间】:2011-10-14 03:06:31
【问题描述】:

当我尝试从 sql server 上的数据库中索引表时出现此错误:

SEVERE: Exception while processing: APPLICATION document : SolrInputDocument[{}]:org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: select APP_ID from APPLICATION Processing Document # 1
    at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(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:59)
    at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
    at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:238)
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:591)
    at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:267)
    at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:186)
    at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
    at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
    at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:408)
Caused by: java.lang.NullPointerException
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:241)
    ... 11 more

Jul 27, 2011 3:13:54 PM org.apache.solr.common.SolrException log
SEVERE: Full Import failed:org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: select APP_ID from APPLICATION Processing Document # 1
    at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(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:59)
    at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
    at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:238)
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:591)
    at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:267)
    at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:186)
    at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
    at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
    at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:408)
Caused by: java.lang.NullPointerException
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:241)
    ... 11 more

我的data-config.xml文件是这样的:

<dataConfig>
  <dataSource type="JdbcDataSource"
          name="ds1"    
          driver="com.mysql.jdbc.Driver"     
              url="jdbc:sqlserver://10.91.95.93;databaseName=RK_GAIP"
              user="guest" 
              password="password"/>
   <document>
        <entity dataSource="ds1" name="APPLICATION" query="select APP_ID from APPLICATION">

            <field column="APP_ID" name="app_id" />

        </entity>
    </document>
</dataConfig>

请告诉这可能有什么问题 谢谢

【问题讨论】:

    标签: java solr nullpointerexception


    【解决方案1】:

    此错误表示您的数据库连接有问题。检查用于连接数据库的 url、用户名和密码。

    【讨论】:

      【解决方案2】:

      您是否设法找到任何解决方案?我有同样的问题,我无法找到解决方案。

      乐:

      我同时找到了解决方案,使用this article

      我的数据源是这样的:

       <dataSource name="ds-1" type="JdbcDataSource" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost\MSSQLSERVER;databaseName=Test" user="sa" password="password" batchSize="100" convertType="false" autoCommit="true"/>
      

      所以我改变的是我用来连接到 MS SQL 服务器的驱动程序。

      另外,请注意您需要:

      • 为您正在使用的 SQL 实例启用“允许 TCP/IP 连接”选项

      • 启动服务 SQL SERVER BROWSER。

      希望它也对你有用!

      【讨论】:

      • 是的,我找到了解决方案。实际上我使用了一些三个驱动文件 msbase.jar, mssqserver.jar, msutil.jar
      • 我使用了相同的文章和数据源,但我仍然遇到相同的错误。还有其他解决方案吗?
      猜你喜欢
      • 2013-09-02
      • 2021-06-29
      • 2012-04-13
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多