Hi, I added the shutdown and it works like a charm!!!. Thanks allot :).
Nadav Hoze Java Programmer dbMotion Ltd. Direct: +972-8-6206802 Extension number: 6802 Mobile: 972-54-4821606 E-mail: [email protected] dbMotion's SOA-based health interoperability and intelligence solution enables healthcare organizations and health information exchanges (HIEs) to meaningfully integrate and leverage their information assets, driving improvements in the quality and efficiency of patient care. Visit dbMotion at www.dbmotion.com. -----Original Message----- From: [email protected] [mailto:[email protected]] Sent: Monday, June 14, 2010 4:33 PM To: [email protected] Subject: Re: Problem to restore backup to an existing databse On 14.06.10 15:23, Nadav Hoze wrote: > Hi, > > I'm using derby in embedded mode, and I have a test which checks backup and > restore functionality by doing the followings: > 1. save an Entity and then backup. > 2. save another entity and then restore. > 3. check that the first entity exist. > 4. check that the second entity does not exist. > > The test fails because somehow the second entity does exist. > I looked at the backup DB and it does not contain more than one entity (as it > should). > But the "restored DB" is the same (i.e. contains 2 entities). > Hi Nadav, Have you tried shutting down the database after you take the backup? (adding "shutdown=true" to the connection URL) Note that closing the connection doesn't shut down the database. Regards, -- Kristian > > This is how I backup: > > Connection connection = > DriverManager.getConnection("jdbc:derby:CTS_SYNCH"); > String sqlstmt = "CALL SYSCS_UTIL.SYSCS_BACKUP_DATABASE(?)"; > CallableStatement cs = connection.prepareCall(sqlstmt); > > cs.setString(1,"C:\IHS\CTS\trunk\Applications\Tools\synch-tool\target\backup"); > cs.execute(); > cs.close(); > connection.close(); > > This is how I Restore: > > connection = > DriverManager.getConnection("jdbc:derby:CTS_SYNCH;restoreFrom=C:\IHS\CTS\trunk\Applications\Tools\synch-tool\target\backup\CTS_SYNCH" > , new Properties()); > connection.close(); > > > Now if I use a different location in restore operation for example: > connection = > DriverManager.getConnection("jdbc:derby:internal/CTS_SYNCH;restoreFrom=C:\IHS\CTS\trunk\Applications\Tools\synch-tool\target\backup\CTS_SYNCH" > , new Properties()); > The database is restored from backup to internal correctly (i.e. only 1 > entity). > This means that the restores works but not to an existing DB. > > Maybe I'm missing something in configuration, or in the coding of the restore. > > I use hibernate with my configuration. > > <?xml version="1.0" encoding="UTF-8"?> > <persistence version="1.0" > xmlns="http://java.sun.com/xml/ns/persistence" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence > http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> > <persistence-unit name="CTS_SYNCH" transaction-type="RESOURCE_LOCAL"> > <provider>org.hibernate.ejb.HibernatePersistence</provider> > > <class>com.dbmotion.cts.synchtool.history.SynchronizationTaskData</class> > <class>com.dbmotion.cts.synchtool.history.DataEntity</class> > > <class>com.dbmotion.cts.synchtool.history.FailedCTSObject</class> > > <class>com.dbmotion.cts.synchtool.history.FailedCodeSystem</class> > > <class>com.dbmotion.cts.synchtool.history.FailedConcept</class> > <properties> > <property name="hibernate.dialect" > value="org.hibernate.dialect.DerbyDialect" /> > <property name="hibernate.hbm2ddl.auto" > value="update" /> > <property name="hibernate.show_sql" value="false" /> > <property name="hibernate.format_sql" value="false" > /> > <property name="hibernate.connection.url" > value="jdbc:derby:CTS_SYNCH;create=true" /> > <property name="hibernate.connection.driver_class" > value="org.apache.derby.jdbc.EmbeddedDriver" /> > </properties> > </persistence-unit> > </persistence> > > Please help. > > Thanks, > > Nadav Hoze > Java Programmer > dbMotion Ltd. > Direct: +972-8-6206802 > Extension number: 6802 > Mobile: 972-54-4821606 > E-mail: [email protected] > > > dbMotion's SOA-based health interoperability and intelligence solution > enables healthcare organizations and health information exchanges (HIEs) to > meaningfully integrate and leverage their information assets, driving > improvements in the quality and efficiency of patient care. > Visit dbMotion at www.dbmotion.com. > > > This email and any files transmitted with it are confidential and intended > solely for the use of the individual or entity to whom they are addressed. > Please note that any disclosure, copying or distribution of the content of > this information is strictly forbidden. If you have received this email > message in error please notify its sender and then delete it from your files. > This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Please note that any disclosure, copying or distribution of the content of this information is strictly forbidden. If you have received this email message in error please notify its sender and then delete it from your files.
