I was able to resolve this issue by using a different jdbc driver: http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC
-----Original Message----- From: Zac Smith [mailto:z...@trinkit.com] Sent: Friday, April 01, 2011 5:56 PM To: solr-user@lucene.apache.org Subject: Using the Data Import Handler with SQLite I hope this question is being directed to the right place ... I am trying to use SQLite (v3) as a source for the Data Import Handler. I am using a sqllite jdbc driver (link below) and this works when using with only one entity. As soon as I add a sub-entity it falls over with a locked DB error: "java.sql.SQLException: database is locked". Now I realize that you can only have one connection open to SQLite at a time. So I assume that the first query is leaving a connection open before it moves onto the sub-query. I am not sure if the issue would be in the jdbc driver or the DIH. It works fine with SQL Server. Is this a bug? Or something that just isn't possible with SQLite? Here is a sample of my data config file: <dataConfig> <dataSource type="JdbcDataSource" driver="org.sqlite.JDBC" url="jdbc:sqlite:SolrImportTest.db" /> <document> <entity name="locations" pk="id" query="select * from locations"> <field column="Id" name="Id" /> <field column="Name" name="Name" /> <field column="RegionId" name="RegionId" /> <entity name="regions" pk="id" query="select * from regions where id = '${locations.RegionId}'" <field column="Name" name="RegionName" /> </entity> </entity> </document> </dataConfig> sqllite jdbc driver : http://www.zentus.com/sqlitejdbc/