db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oystein Grovlen - Sun Norway <Oystein.Grov...@Sun.COM>
Subject Re: network server setup
Date Fri, 15 Jun 2007 08:56:46 GMT
Bill Shannon wrote:
> I'm trying to use derby and I'm having a terrible time navigating
> the documentation.  I can't find simple answers to things that I
> think should be simple.  Can someone point me in the right direction?


I agree that the documentation is difficult to navigate in.  An common 
index for all manuals would have helped a lot. Now, it is not always 
clear which manual to look in.  I often end up using Google to search 
the manuals.  If I add "site:db.apache.org/derby/docs/10.2" to my Google 
search criteria, I will only search the 10.2 manuals.

> Here's what I want to do...
> I want to start the server as a network server and allow connections
> from other machines.

This is described in the "Derby Server and Administration Guide".  The 
section "Starting the Network Server" describes how to start the server. 
  The description of how to do this has been updated lately, and I think 
the development versions of the manuals 
(http://db.apache.org/derby/docs/dev/adminguide) describes this better 
than the 10.2 manuals.

There are basically three ways to start the server:
- Use the scripts in the bin directory
- java -jar derbyrun.jar server start
- java java org.apache.derby.drda.NetworkServerControl start

The same section also describes how to open up for connections from 
other machines (-h option).  The default is to only listen on the 
localhost network interface.

> I want to configure a username and password for connecting to the server.

User name handling in Derby is a bit different from most other 
databases.  See "Working with user authentication" in the "Developer's 
Guide".  Derby provides pluggable user authentication (e.g., you can use 
  and LDAP server to authenticate users).  For a description of how to 
use the built-in user repository, see "Built-in Derby users" in the same 
manual.  Basically, users are defined by properties.  To define users at 
the system level, you can add them to the "derby.properties" property 
file.  To add users that are to be local to a specific database, you 
will need to use the SQL stored procedure for defining database level 

> I want to create a database in the server.

To create a database, you connect to it with the extra attribute 
"create=true" in the connection URL.  If the given database does not 
exist, it will be created.  The "Working With Derby" manual shows how to 
do this with the interactive ij tool in the section "Creating the 
database and running SQL".  You can also write a Java program to create 
the database by connecting to it using a similar URL. You can read more 
about the connection URL and its attributes in 
"java.sql.DriverManager.getConnection" in the "Reference Manual".

Note that where the database files are created is relative to the 
derby.system.home property (the default is the current directory) unless 
you include an absolute path as part of the database name.

> I figured there would be command line tools that would allow me to do all
> of that, but the tools that exist are very primitive and I can't figure
> out how to do anything but start (and stop) the server.

Yes, Derby has only a few and pretty primitive tools.  As you see, you 
need to use a combination of toos, properties, SQL, and JDBC to achieve 
what you want.

> Once I get the above done, my program can take over and create and
> populate the tables, but I need a simple way to do the above.
> Where should I be looking?
> Thanks for any help!

I hope the above helps,

Øystein Grøvlen

View raw message