db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Leader <d.lea...@bio.gla.ac.uk>
Subject Including a derby database in a Windows executable (was Can the derby.log file be suppressed?)
Date Thu, 25 Oct 2007 20:03:29 GMT
Changing the topic I wrote:

> Now, does anyone know how to include a derby database in a  
> Windows .exe file?

and John Embretsen replied

> If your database is read-only, I guess you could put your database  
> in a jar (your application jar file) and the wrap the jar in an exe  
> file
> You can read about putting the DB in a jar in the Derby Developer's  
> Guide, within the section "Creating Derby databases for read-only  
> use".

Thanks John.

I tried that last summer when we were first playing with derby, and I  
gave up as I was unable to find a path to the database. I've just  
tried again, with similar results. So, either it's not possible or  
I'm doing it wrong. Let me describe my setup.

1. DB external to the jar file  (Database name: DihedralizerDB)  
String url = "jdbc:derby: DihedralizerDB"
connection code for Connection conn:

				conn = DriverManager.getConnection(url);
OK. Now for the tough stuff:

2. DihedralizerDB as a directory within the jar file at the same  
level as the main method. (I've inspected the jar file with one of  
the available gui tools, so I know the structure is as I say it is.)  
I reference other directories containing image files and text files  
within the jar file ok, so I know how to include these and normally  
specify directory/filename. But clearly that will not work here. How  
do I reference the database? The Derby Developer's Guide instructions  
for referencing a database within a jar file has:


but what is the path to the archive if it's in the same jar file as  
the main class?
  '.' ?   './' ?
Neither of these work for me with the path to the db specified as  
just the name of the db. The examples are not very helpful as they  
give absolute paths from someone's C drive, so presumably are for an  
external zipped or archived file (which I did manage to get to work  
just as a check).


i.e. I have no joy with  jdbc:derby:jar:(./)DihedralizerDB or   
jdbc:derby:jar:(/)DihedralizerDB or most other variants I can think of.

Can it be done?


View raw message