Only URL, user name and password usually need to be set.
The remaining settings are generated using the database URL sub-protocol from the
database type resource file.

JNDI can be used to get the connection. In this case, use the javax.naming.InitialContext as the driver,
and the JNDI name as the URL. If the user and password are configured in the JNDI resource,
they should not be configured here. Example JNDI settings:

For Microsoft SQL Server 2005, there is a problem reading large BLOBs. You will need to use
the JDBC driver version 1.2 or newer, and append ;responseBuffering=adaptive to the database URL.
Don't append ;selectMethod=cursor, otherwise it can still run out of memory.
Example database URL: jdbc:sqlserver://localhost:4220;DatabaseName=test;responseBuffering=adaptive

By default, the data is copied to a temp file when reading, to avoid problems when reading multiple
blobs at the same time.

The tablePrefix can be used to specify a schema and / or catalog name:
<param name="tablePrefix" value="ds.">

DbDataStore

addRecord

Creates a new data record. The given binary stream is consumed and
a binary record containing the consumed stream is created and returned.
If the same stream already exists in another record, then that record
is returned instead of creating a new one.

The given stream is consumed and not closed by this
method. It is the responsibility of the caller to close the stream.
A typical call pattern would be:

getRecord

Returns the identified data record. The given identifier should be
the identifier of a previously saved data record. Since records are
never removed, there should never be cases where the identified record
is not found. Abnormal cases like that are treated as errors and
handled by throwing an exception.

initDatabaseType

getProperty

Get the expanded property value. The following placeholders are supported:
${table}: the table name (the default is DATASTORE) and
${tablePrefix}: the prefix as set in the configuration (empty by default).

convert

updateModifiedDateOnAccess

public void updateModifiedDateOnAccess(long before)

From now on, update the modified date of an object even when accessing it.
Usually, the modified date is only updated when creating a new object,
or when a new link is added to an existing object. When this setting is enabled,
even getLength() will update the modified date.