Hi Dmitry,
In embedded mode, an application boots the Derby engine by making a JDBC
connection. By itself, the embedded engine does not listen on any port
for connection requests from other processes. So if your application
uses the embedded driver, the engine won't respond to any other process.
In contrast, the Derby network server is a special application which
embeds the Derby engine. The network server does listen on a network
port. The network server forwards SQL commands to the engine which it
embeds.
Hope this helps,
-Rick
On 8/2/17 11:15 AM, Dmitry Buzolin wrote:
The app can be taken down. I just trying to wrap my head around this
scenario, since I am not great in Derby and doc is bit scant for this
case.
Ok, so I see the connection via network drive is an option. Does Derby
exposes the any listening port when it is started in embedded mode?
On Aug 2, 2017, at 12:45 PM, Kristian Waagan <krist...@apache.org
<mailto:krist...@apache.org>> wrote:
No, that is not supported using the embedded driver only.
You either have to shut down the application, or connect using the
network driver (while the application itself connects using the
embedded driver). The "embedded server mode" is described at [1] and
in the admin guide.
Do you need the application to be up while you interface with the
database manually?
Regards,
--
Kristian
[1] https://stackoverflow.com/q/374833/4473053
Den ons. 2. aug. 2017, 16:46 skrev Dmitry Buzolin
<dbuz5ga...@gmail.com <mailto:dbuz5ga...@gmail.com>>:
Thanks you Kristian,
Booting/opening is clear. But say Derby is booted/opened by an
application, can I connect to the same database via IJ tools and
interface with the database (UPDATE/INSERT/DELETE)? Or this is
not supported?
On Aug 2, 2017, at 10:39 AM, Kristian Waagan
<krist...@apache.org <mailto:krist...@apache.org>> wrote:
Hi Dmitry,
Only one process can open / boot a specific database (usually a
set of files on disk) at a given time.
Depending on your requirements you can:
a) shut down the application and boot the database using any
standard JDBC tool (using the embedded driver)
b) if you need to be able to access the database while the
application is running, you need to enable the Derby network
server mode and connect to it using the network driver. This can
be done in more than one way, for instance by specifying a
system property on startup. This may have security implications
for your application.
If this is a permanent requirement, it should be possible to
start and stop the network server from within your application
(i.e. by adding support for this feature in your application).
See the Derby Administration guide for more info.
Hope this helps,
--
Kristian
ons. 2. aug. 2017 kl. 14:47 skrev Dmitry Buzolin
<dbuz5ga...@gmail.com <mailto:dbuz5ga...@gmail.com>>:
Hi List!
I have a tough problem: My application runs Derby in
embedded mode and I have a requirement to change/correct
data inside this database.
What is a best way to do this if it is possible? For example
if I open this database location via "file://patch to db
folder” will this work properly wrt data consistency,
locking etc (since the database is accessed from within the
app code)?