On 11.05.10 06:37, Don Clary wrote:
I am also trying to use the "restoreFrom=" switch when opening the database,
but have not been successful yet.
Hi Don,
Just a few ideas:
- are you doing this from the embedded driver?
- are you able to boot the backup directly?
(i.e. go to 'C:\Documents and Settings\Don\My
Documents\JavaDev\HSA_ServiceHours\ServiceHours\HSA_backup\backup10-05-09',
start ij and type "connect
'jdbc:derby:derbyDB[;user=...;password=...;...]'")
- if the above works, can you do the same from a different directory,
specifying the full path in the connect statement?
(just to rule out Windows path issues)
FYI, the check that fails is a File.exists(), which is why I want to
rule out path and privilege issues.
Regards,
--
Kristian
I am getting the following error:
Caused by: java.sql.SQLException: Failed to start database 'derbyDB', see
the next exception for details.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossD
RDA(Unknown Source)
... 43 more
Caused by: java.sql.SQLException: Backup database directory 'C:\Documents
and Settings\Don\My
Documents\JavaDev\HSA_ServiceHours\ServiceHours\HSA_backup\backup10-05-09\de
rbyDB' not found. Please make sure that the specified backup path is right.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossD
RDA(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
"derbyDB" is the name of my database.
The backup database does exist and everything needed (log dir, seg0 dir&
.dat files, BACKUP.HISTORY file, service.properties) appears to be
available. The application trying to restore the file was started in the
'...\ServiceHours' directory,
It seems that derby (10.5.3.0) can not access this directory for some
reason. Anyone have a suggestion?
Thank you!
Don
-----Original Message-----
From: Dinesh Bajaj [mailto:[email protected]]
Sent: Saturday, April 24, 2010 9:59 AM
To: Derby Discussion
Subject: Re: Database restoration not working.
Hi Myrna,
Thanks for your reply.
As I noted in my previous message that I already got the answer to
my query through a web article. However, thanks to you for you reply
nevertheless.
-Dinesh
--- On Sat, 24/4/10, Myrna van Lunteren<[email protected]>
wrote:
From: Myrna van Lunteren<[email protected]>
Subject: Re: Database restoration not working.
To: "Derby Discussion"<[email protected]>
Date: Saturday, 24 April, 2010, 9:01 PM
On Fri, Apr 23, 2010 at 7:37 PM, Dinesh Bajaj
<[email protected]> wrote:
Hi All,
My understanding is that restoring a backedup database
should restore it to to its original location. If for example, a database is
backedup from the location c:\one to c:\two, and if it is later restored,
then the database ought to be restored to the original location, i.e.
c:\one. However, I find that this is not the case with Derby.
String connectionURL =
"jdbc:derby:mydbname;restoreFrom=c:/temp/two/mydbname"
On using the above-mentioned connection string, the
connection to the database is indeed made; however, it is not restored to
its original location. Where the database is restored, and how I can get it
restored to its original location?
Thanks in advance.
Regards,
Dinesh
Hi Dinesh,
As you found, derby does not retain information about the
directory structure around the database, just the internal organization of
the database itself. And the backup/restore doesn't keep that information
either.
Derby processes start from the location where the java process is
invoked...
So, to restore to the original position, I'd suggest starting the
restore in the original location.
Or, you can just specify the target directory in the URL, i.e.:
String connectionURL =
"jdbc:derby:c:/temp/one/mydbname;restoreFrom=c:/temp/two/mydbname"
That should make mydbname database get restored to c:/temp/one.
Myrna