This document covers the functionality of the Eloquence dbutil program
and provides a complete description of the dbutil script syntax matching
Eloquence B.08.30 or newer.
The dbutil program may be used in two different modes:
- Interactive mode
dbutil supports an interactive mode for database security
management. When run without passing a script file dbutil will
launch a dialog based user interface.
- Batch mode
dbutil runs in batch mode when a script file is passed on the
command line. The dbutil script language allows to modify the database
schema. The database server will restructure the database as necessary.
usage: dbutil [options] [file|-]
-help - show usage (this list)
-u name - user name (default "dba")
-p pswd - password
-h host - host name or ip address (and service)
-s service - service name or port number
-n - pretend (batch mode only)
-v - verbose (batch mode only)
-e cnt - abort processing after encountering cnt errors
-d flgs - debug flags
-T - HP3000 TurboImage compatibility mode
If a file is specified, dbutil runs in batch mode and processes
any statements in the input file. If the file argument is not
specified, dbutil runs in interactive mode.
If the -n option is present no changes are applied to the
database. Processing will end after checking the input file and
the analysis phase.
When changing the database structure please make sure you have
a valid backup.
The -n and -v options are only available when used
in batch mode. The -n option causes dbutil to execute in test
mode. All changes are rolled-back and not applied to the database.
The -v option displays additional information during script
processing. If specified twice, every command in the script will be
echoed back to the user.
The -T option causes dbutil to interpret all item types and
sizes in TurboIMAGE format. By default, item types and sizes follow
the Eloquence conventions (ie. item sizes are in byte units).
The -h option can be specified with a [host][:service] syntax
where host defaults to the local system and service defaults to the
"eloqdb" service name. Alternatively, the EQ_DBSERVER environment
variable may be used.
User and password, specified with the -u and -p options,
can be a reference to a file if prepended by "file:". They may also be
defined by the EQ_DBUSER and EQ_DBPASSWORD environment variables.
The dbutil program can be used to specify structural changes by uploading
a new schema for the database to the server. The database server then makes
structural changes as required.
Eloquence database structural maintenance is very flexible.
Here are the current restrictions as of Eloquence B.08.30:
- The type of a data set cannot be changed (e.g. from detail
to master). Limited changes between manual and automatic master
sets are possible.
- The search item of a manual master set cannot be
modified in a way which might lead to duplicates.
For example, shortening a search item in a manual
master from X20 to X10 is not allowed.
- The order of data sets cannot be changed. New data sets are
appended to the existing list of data sets. The exceptions are
master sets which are inserted before the first related detail set.
- The order of index items cannot be changed. New index items
are appended to the existing list of index items.
- If data is converted to a different data type the
conversion algorithm can currently not be specified.
The following conversion rules apply:
- Any truncation or precision loss is indicated with a single warning
message per item in a data set. This warning is written into the database
server log which by default is the syslog on HP-UX and Linux or the
event log on Windows. The database server log flags must contain
I1 at least to make these warning messages appear in the log.
- Conversion of negative values into an unsigned data type (K) currently
results in the absolute value, ie. the negative sign is lost.
- Conversion of floating point values into integral data types currently
truncate any post-decimal digits.
The dbutil program runs in interactive mode when no script file is
specified on the command line. The interactive user interface
provides a subset of the scripting capabilities which are
typically used to maintain a database. Currently this is mostly
limited to managing database security.
Pressing the F1 key (or selecting the Help function) provides
Please refer to the
dbutil interactive usage
description for more information.
The dbutil program will run in batch mode when a script file is specified
on the command line. The statements in the script file allow a variety
of database operations, ranging from database security management to
database structural maintenance. Please refer to the
dbutil syntax description
for more information.