db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Waagan <Kristian.Waa...@Sun.COM>
Subject Re: Database restoration not working.
Date Tue, 11 May 2010 07:56:00 GMT
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:dinesh.bajaj@ymail.com]
>    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<m.v.lunteren@gmail.com>
> wrote:
>
>
>            From: Myrna van Lunteren<m.v.lunteren@gmail.com>
>            Subject: Re: Database restoration not working.
>            To: "Derby Discussion"<derby-user@db.apache.org>
>            Date: Saturday, 24 April, 2010, 9:01 PM
>
>
>            On Fri, Apr 23, 2010 at 7:37 PM, Dinesh Bajaj
> <dinesh.bajaj@ymail.com>  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
>
>
>
>    


Mime
View raw message