This activity uses Derby within
a client/server configuration by using the Network Server. The ij tool
is the client application that connects to the Derby Network
Server. In this activity, you create a database called seconddb and
run some basic SQL statements.
This activity assumes that you know how to open a command shell and
change to the DERBYTUTOR directory.
You use two command windows (referred to as Shell-1 and Shell-2)
in this activity. You use Shell-1 to start the Derby Network
Server and display Network Server messages. You use Shell-2 to establish a
client connection to the Network Server using ij and then
perform some basic SQL operations.
- Open a command window (Shell-1) and change to the DERBYTUTOR directory.
- Start the Network Server, as shown in the following table.
Table 1. Command to start the Network Server
Operating System |
Command |
UNIX (Korn Shell) |
java -jar $DERBY_HOME/lib/derbyrun.jar server start
Thu Sep 13 16:45:36 EDT 2012 : Security manager
installed using the Basic server security policy.
Thu Sep 13 16:45:37 EDT 2012 : Apache Derby
Network Server - 10.10.0.0 - (1384314) started and
ready to accept connections on port 1527
|
Windows |
java -jar %DERBY_HOME%\lib\derbyrun.jar server start
Thu Sep 13 16:45:36 EDT 2012 : Security manager
installed using the Basic server security policy.
Thu Sep 13 16:45:37 EDT 2012 : Apache Derby
Network Server - 10.10.0.0 - (1384314) started and
ready to accept connections on port 1527
|
A Network Server startup message appears
in the Shell-1 command window.
- Open another command window (Shell-2). Change to the DERBYTUTOR directory.
- Start ij.
If you included the
DERBY_HOME/bin directory in your PATH environment variable,
type:
ij
Otherwise, you can use the
java command to start the
ij tool, as shown in
the following table.
Table 2. Command to start the ij tool
Operating System |
Command |
UNIX (Korn Shell) |
java -jar $DERBY_HOME/lib/derbyrun.jar ij
ij version 10.10
|
Windows |
java -jar %DERBY_HOME%\lib\derbyrun.jar ij
ij version 10.10
|
You will enter all subsequent commands
from the network client, so you will type the commands in the Shell-2 command
window.
- Create and open a connection to the database using the client driver.
CONNECT 'jdbc:derby://localhost:1527/seconddb;create=true';
Remember: A client connection URL
contains a hostname and a port number. For example: //localhost:1527/
- Create a table with two columns (ID and NAME) using the following
SQL statement:
CREATE TABLE SECONDTABLE
(ID INT PRIMARY KEY,
NAME VARCHAR(14));
0 rows inserted/updated/deleted
- Insert three records into the table.
INSERT INTO SECONDTABLE VALUES
(100,'ONE HUNDRED'),(200,'TWO HUNDRED'),(300,'THREE HUNDRED');
3 rows inserted/updated/deleted
- Select all of the records in the table.
SELECT * FROM SECONDTABLE;
ID |NAME
------------------------
100 |ONE HUNDRED
200 |TWO HUNDRED
300 |THREE HUNDRED
3 rows selected
- Select a subset of records from the table by specifying a WHERE clause.
SELECT * FROM SECONDTABLE WHERE ID=200;
ID |NAME
------------------------
200 |TWO HUNDRED
1 row selected
- Exit ij.
exit;
- Shut down the Derby Network
Server, as shown in the following table.
Table 3. Command to shut down the Network Server
Operating System |
Command |
UNIX (Korn Shell) |
java -jar $DERBY_HOME/lib/derbyrun.jar server shutdown
Thu Sep 13 16:50:37 EDT 2012 : Apache Derby
Network Server - 10.10.0.0 - (1384314) shutdown
|
Windows |
java -jar %DERBY_HOME%\lib\derbyrun.jar server shutdown
Thu Sep 13 16:50:37 EDT 2012 : Apache Derby
Network Server - 10.10.0.0 - (1384314) shutdown
|
The server shutdown confirmation appears
in both command windows.
Activity notes The client connection URL contains network
information (hostname and portnumber) not found in the URL for an embedded
connection. This information tells the client driver the location of the Network
Server. The client driver sends requests to and receives responses from the
Network Server.
In this activity the Derby database
engine is embedded in the Network Server and returns data to the ij client
(a client/server configuration). In contrast, establishing a connection using
an embedded URL (one without //localhost:1527/) would have
caused the Derby engine
to be embedded in the ij application (an embedded configuration).
In
this configuration, multiple client programs can connect to the Network Server
and access the database simultaneously. (This activity does not demonstrate
this capability.)