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 として 0cat から選択します。id = 処理中のドキュメント # 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 に答える