On 21/10/09 2:56 PM, Eric Lazarus wrote:
About the meaning of 'embedded': I think that the 2nd option has a
server process running tcp on some port number in the 9000's. Does this
count as an 'embedded' database? I assume not.
Also, what happens in the
first case if the user opens two instances of the program on his
desktop. Does not each instance access the same files ? What kind of
locking is implemented in that case?
I don't use H2, but for Derby:
* you can 'embed' the Derby jar within your own application jar or you can run
it standalone
* if you embed it or if it runs standalone, you can have it open a TCP socket
and communicate with it just as if it was a separate application. Other apps
can also connect.
* if you embed it, you can also use a different JDBC connector to connect
directly without a TCP socket. That might be more secure, but it doesn't make
anything simpler (or faster).
* whatever you do, you cannot have two database engines (standalone or
embedded) using the same files on disk. I'd guess that holds true for any
database in existence today.
Ari
--
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A