Xephr® Datasource Determination

Xephr® entities (screens, reports, etc.) may define which datasource to use at various points:

The repository being used has a default datasource name.

Each user can be assigned a datasource, and can be assigned different database log-ins for any datasource.

The entity may specify a datasource name. If none is specified,  the user's datasource is used.  If the user has no default datasource, or the user is externally authenticated, the repository's default datasource is used.

Each query (block) may specify a datasource name. If none is specified then the query executes in the entity context.

Each query style LOV (list of values) may specify a datasource name. If none is specified then LOVs associated with query block execute in the associated query context and LOVs in blocks not associated with queries execute in the entity context. The associated query for an LOV may be defined in the current block, or if that block has no query defined, its parent block, and so on.

Once the datasource for query resolution has been determined, the query resolver requests a connection from the connection pool manager. The connection pool manager stores active connections identified by the datasource name (or more properly by the datasource UUID) and the user and password to be used for the connection. If an available connection exists, this is used, otherwise connections are created as needed.

Datasource definitions include the user ID and password to be used to log into the corresponding data store. In addition each user record may have an override user ID and password (database log-in) for each datasource associated with it. If this is the case, then the user specific user ID and password are used for establishing connections rather than the default in the datasource definition.

Xephr is a registered trademark of NDS Systems, LC.

Copyright © 2007 NDS Systems LC.