Derby database
Structure
Database → Schema → Tables/Objects
Database: In Derby, the "database" is basically the connection. There’s only one database per connection (each connection is tied to a single database). A database is essentially a directory on disk.
Schema: Derby supports schemas, similar to PostgreSQL and SQL Server. In Derby, a schema is a namespace within a database. A schema contains tables, views, indexes, triggers, and procedures. Derby defaults schema = current user name (uppercased), for example if user = "sa" ⇒ schema is "SA". If connecting without credentials (no user) the default schema "APP" will be used
Telosys typical configuration for a Derby database
- id: derby
name: my Derby server database
type: Derby
# JDBC connection
driver: org.apache.derby.jdbc.ClientDriver
url: jdbc:derby://localhost:1527/telosysdb;create=true
user: foo
password: xxxxx
# Metadata parameters
schema: '!'
# catalog: '!'
tableNamePattern: '%'
tableTypes: TABLE
"catalog" is not required
"schema" can be a schema name or '!' for all schemas
if authentication is not enabled then "user" and "password" can have any value
JDBC driver
Download: https://db.apache.org/derby/derby_downloads.html
JAR files required to connect:
derbytools.jar
( org.apache.derby.jdbc.ClientDriver )derbyclient.jar
( org.apache.derby.client.ClientAutoloadedDriver )derbyshared.jar
( org.apache.derby.shared.common.info.ProductVersionHolder )
Server Launch
Just launch bin/startNetworkServer
( default port = 1527 )
Derby case conversion rules
Applies to both table names and column names.
Unquoted identifiers
Always converted to UPPERCASE
They are not case-sensitive in SQL requests
Quoted identifiers
Case is preserved exactly as written
They are case-sensitive in SQL requests
Default schema = username in uppercase.
Derby types of use
Derby is written in Java, so it's possible to connect via JDBC with all JVM languages:
Java
Kotlin
Scala
Groovy
And also with some other languages:
Python with JayDeBeApi that allows to connect from Python code to databases using Java JDBC
C# / .NET via ODBC with a DB2-compatible driver or via JDBC with IKVM.NET (though that’s less common)
Node.js via JDBC bridges (e.g., node-jdbc) with Derby’s JDBC driver
Last updated