0
我已经从约20 MDB文件使用ucanaccess做了dataimport以下设置:Solr的dataimport变化数据源动态
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource name="a" driver="net.ucanaccess.jdbc.UcanaccessDriver" type="JdbcDataSource" url="jdbc:ucanaccess://E:/feqh/main.mdb;memory=false" />
<dataSource name="a1" driver="net.ucanaccess.jdbc.UcanaccessDriver" type="JdbcDataSource" url="jdbc:ucanaccess://E:/feqh/A/1.mdb;memory=false" />
<dataSource name="a2" driver="net.ucanaccess.jdbc.UcanaccessDriver" type="JdbcDataSource" url="jdbc:ucanaccess://E:/feqh/A/2.mdb;memory=false" />
<dataSource name="a3" driver="net.ucanaccess.jdbc.UcanaccessDriver" type="JdbcDataSource" url="jdbc:ucanaccess://E:/feqh/A/3.mdb;memory=false" />
<dataSource name="a4" driver="net.ucanaccess.jdbc.UcanaccessDriver" type="JdbcDataSource" url="jdbc:ucanaccess://E:/feqh/A/4.mdb;memory=false" />
<!-- and so on -->
<document>
<entity name="Book" dataSource="a"
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" dataSource="a"
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 name="Pages" dataSource="a5" onError="continue"
query="SELECT nass AS PageContent, page AS pageNum FROM b${Book.ID} ORDER BY page">
<field column="PageContent" name="PageContent" />
<field column="PageNum" name="PageNum" />
<entity name="Titles" dataSource="a5" onError="continue"
query="SELECT * FROM t${Book.ID} WHERE id = ${Pages.PAGE} ORDER BY sub">
<field column="ID" name="TitleID"/>
<field column="TIT" name="PageTitle"/>
<field column="SUB" name="TitleWeight"/>
<field column="LVL" name="TitleLevel"/>
</entity>
</entity>
</entity>
</document>
</dataConfig>
在每一个我喜欢从不同的数据源导入时间,我不得不改变数据源手动属性的页面和标题实体,然后执行数据导入而不干净。现在有600多个mdb文件,这不是一个明智的选择。有没有什么办法可以在配置中进行循环?换句话说:有一个主要的实体或mdb文件可以处理所有书名和类别,那么每本书都有自己的mdb文件,其id为245.mdb,因此我需要更改dataSource为页面和标题动态。
在我看来,你应该有书,类别和页表单的.mdb在那里为您的所有数据。为每本书的页面分开文件不会随着您添加更多书籍而扩展。另外,您是否可以将所有这些数据移到Microsoft Access之外的其他位置? – orangepips 2014-10-03 17:01:40
@orangepips我已经尝试搜索将MS Access数据库转换为MySQL的任何工具,但它是相同的想法,我必须手动操作600多个mdb文件!目前,如果我没有直接的Solr解决方案,我打算制作一个自动完成此过程的PHP应用程序,但我需要知道如何通过HTTP进行非干净的数据导入。 – SaidbakR 2014-10-03 17:38:45