1

我有以下数据导入配置:

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource driver="net.ucanaccess.jdbc.UcanaccessDriver" type="JdbcDataSource" url="jdbc:ucanaccess://C:/feqh/main.mdb;memory=false" />

<document>
    <entity name="Book" 
            query="select bkid AS id, bkid AS BookID,bk AS BookTitle, betaka AS BookInfo, cat as cat from 0bok">
                   <field column="id" name="id"/>
                   <field column="BookID" name="BookID"/>
                   <field column="BookTitle" name="BookTitle"/>
                   <field column="cat" name="cat"/>    
        <entity name="Category"
                query="select name as CatName, catord as CatWeight, Lvl as CatLevel from 0cat where id = ${Book.cat}">
                    <field column="CatName" name="CatName"/>
                    <field column="CatWeight" name="CatWeight"/>
                    <field column="CatLevel" name="CatLevel"/>
        </entity>

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

由于日志中的以下错误,此数据导入失败:

无法执行查询:选择名称为 CatName,catord 为 CatWeight,Lvl 为 CatLevel from 0cat where id = Processing Document #1

当我${Book.cat}用任何固定数字(例如 128)替换时,导入工作正常。

所以似乎 ${Book.cat} 没有打印出任何值。我从中导入数据的数据库是使用版本2.0.9的 MS Access 数据库 mdb 。我在 Java8 上使用 Solr 4.9.0。我该如何解决这个问题?

4

1 回答 1

2

由于未知原因,我发现模板中的列名应该写成大写,所以我${Book.cat}应该${Book.CAT}说未知,因为我确定数据库中的列名是小写的cat

于 2014-09-29T19:19:48.450 回答