Hi Artem,

the restore command on the console is working fine with the backup created 
by above code:

orientdb {test}> restore database 
C:/Users/klinger/Documents/prototypes/conceptor-base/testbackup.zip

Restoring database database 
C:/Users/klinger/Documents/prototypes/conceptor-base/testbackup.zip...
- Uncompressing file attribute.cpm...
- Uncompressing file attribute.pcl...
- Uncompressing file attributegroup.cpm...
[...]
Database restored in 0,86 seconds
orientdb {test}>


best regards,
chris

Am Dienstag, 1. Juli 2014 18:03:23 UTC+2 schrieb Artem Orobets:
>
> Hi Chris,
>
> Does *restore* command works in console?
>
> Best regards,
> Artem Orobets
>
> * Orient Technologiesthe Company behind OrientDB*
>  
>
> 2014-07-01 13:12 GMT+03:00 Chris Klinger <[email protected] 
> <javascript:>>:
>
>> Hey guys,
>>
>> i'm trying to implement a basic backup/restore mechanism in my 
>> application. the use case basicly is to load a previous snapshot of data. 
>> so i do a backup and later i want to restore this to a second "working copy 
>> database" to view the old data.
>> The db service in the following code is a simple spring bean starting an 
>> embedded orientdb server and retuns the graph database instance.
>>
>> try {
>>     File backupFile = new File("testbackup.zip");
>>     OutputStream oS = new FileOutputStream(backupFile);
>>
>>     dbService.getGraphDatabaseInstanceNoTx().getRawGraph().backup(oS, 
>> null, null, null, 1, 1024);
>>
>>     oS.close(); // close the stream
>>     dbService.destroy(); // shutdown embedded server
>>
>>     dbService.setGraphDatabase("restoreSnapshot" + 
>> System.currentTimeMillis());
>>
>>     dbService.afterPropertiesSet(); // start embedded server
>>
>>     FileInputStream iS = new FileInputStream(backupFile);
>>     dbService.getGraphDatabaseInstanceNoTx().getRawGraph().restore(iS, 
>> null, null, null);
>>     iS.close(); // close input stream
>>
>> } catch (FileNotFoundException e) {
>>     // TODO Auto-generated catch block
>>     e.printStackTrace();
>> } catch (IOException e) {
>>     // TODO Auto-generated catch block
>>     e.printStackTrace();
>> } catch (Exception e) {
>>     // TODO Auto-generated catch block
>>     e.printStackTrace();
>> }
>>
>> Running this code i get the following exception:
>>
>> java.io.IOException: The process cannot access the file because another 
>> process has locked a portion of the file
>>  at java.io.FileOutputStream.writeBytes(Native Method)
>> at java.io.FileOutputStream.write(FileOutputStream.java:345)
>>  at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122)
>> at com.orientechnologies.common.io.OIOUtils.copyStream(OIOUtils.java:153)
>>  at 
>> com.orientechnologies.orient.core.compression.impl.OZIPCompressionUtil.extractFile(OZIPCompressionUtil.java:90)
>> at 
>> com.orientechnologies.orient.core.compression.impl.OZIPCompressionUtil.uncompressDirectory(OZIPCompressionUtil.java:76)
>>  at 
>> com.orientechnologies.orient.core.storage.impl.local.OStorageLocalAbstract.restore(OStorageLocalAbstract.java:119)
>> at 
>> com.orientechnologies.orient.core.db.raw.ODatabaseRaw.restore(ODatabaseRaw.java:182)
>>  at 
>> com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.restore(ODatabaseWrapperAbstract.java:77)
>> at 
>> com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.restore(ODatabaseWrapperAbstract.java:77)
>>  at 
>> com.encoway.conceptor.base.document.orient.OrientDbBasicTest.testDbSnapshot(OrientDbBasicTest.java:126)
>>
>> I'm sure, none of the used files is accessed by another process. i'm 
>> doing something wrong? or could this be a bug in orientdb? i'm using 
>> version 1.7.3
>>
>> any ideas?
>>
>> thanks
>>
>> -- 
>>
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "OrientDB" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to