Did you close the file?
On Wed, Jun 16, 2010 at 11:41 AM, Sean Mitchell <[email protected]> wrote: > Hello... > > I'm trying to use H2 to perform unit testing of some methods that act > upon a database. This is a maven project, so I have created an H2 > database with sample data and put that in src/test/resources/ > testdb.h2.db > > When my unit test class runs, it copies testdb.h2.db to the system > temp dir, and uses the copied file to create an instance of DBCP's > BasicDatasource like this: > > File file = File.createTempFile(dbname, ".h2.db"); > > > FileUtils.copyURLToFile(ClassLoader.getSystemClassLoader().getResource(dbname > + ".h2.db"), file); > > BasicDataSource ds = new BasicDataSource(); > ds.setDriverClassName("org.h2.Driver"); > ds.setUsername("sa"); > ds.setPassword(""); > ds.setUrl("jdbc:h2:file:" + file.getAbsolutePath()); > > The problem is that when the code tries to access any of the tables > with that datasource, they are not found: > > org.springframework.jdbc.BadSqlGrammarException: > PreparedStatementCallback; bad SQL grammar [SELECT VariationTypeUID > FROM VariationType WHERE VariationType = ?]; nested exception is > org.h2.jdbc.JdbcSQLException: Table "VARIATIONTYPE" not found; SQL > statement: > SELECT VariationTypeUID FROM VariationType WHERE VariationType = ? > [42102-136] > > If I connect directly to the copied file (eg: jdbc:h2:file:/var/ > folders/py/pyzGIi9nEGWr5A84ePz24++++TI/-Tmp-/ > testdb435327911103145885.h2.db) I can see all the tables and run the > queries without any problem. I'm using the "sa" username in both > cases. > > Anyone have any ideas why this might be? > > -- > You received this message because you are subscribed to the Google Groups > "H2 Database" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<h2-database%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/h2-database?hl=en. > > -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/h2-database?hl=en.
