{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\fswiss\fcharset0 Arial;}{\f2\ftech\fcharset2 Symbol;}{\f3\fswiss\fprq2\fcharset0 Lucida Sans Unicode;}{\f4\fnil\fcharset2 Symbol;}} {\colortbl ;\red0\green0\blue255;} \viewkind4\uc1\pard\qc\lang3081\b\f0\fs36 CL4 OpenAccess ODBC Database Server\par \fs32 Installation and Configuration Procedures\b0\fs20\par \pard\par \b\fs32 Introduction\par \fs24\par \pard\li284 Release\par \pard\li568\tx3408\b0\fs20 CL4 ODBC server release:\tab\cf1\b 1.6b\cf0\b0\par OpenAccess release:\tab\cf1\b 4.80.8\cf0\b0\par Document ID:\tab $Id: Readme.wri,v 1.16 2002/10/30 05:02:04 planetary Exp oaccess $\par \par Facilities supported:\par \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\fi-284\li1278 Standard SQL DML \f1 -\f0 CONNECT, SELECT, UPDATE, INSERT, DELETE, DISCONNECT\par {\pntext\f4\'B7\tab}Views support \f1 -\f0 CREATE VIEW, SELECT FROM , DROP VIEW\par {\pntext\f4\'B7\tab}Database object permissioning\par {\pntext\f4\'B7\tab}Standard SQL DCL \f1 -\f0 CREATE/DROP USER, CREATE/DROP ROLE\par {\pntext\f4\'B7\tab}SQL schema extension tables \f1 -\f0 CL_PRIVS, CL_USERS, CL_ROLES, CL_DATABASES, CL_PROCS\par {\pntext\f4\'B7\tab}Database procedures for native language support - CALL \par {\pntext\f4\'B7\tab}Multiple database access\par {\pntext\f4\'B7\tab}Built-in Procedures - CreateProc(), DropProc(), DBConnect(), DBDisconnect(), Trace(), Describe(), Hier()\par {\pntext\f4\'B7\tab}Query statistics optimisation\par {\pntext\f4\'B7\tab}Tabular Result Sets returned from Procedures\par \cf0{\pntext\f4\'B7\tab}Hierarchical referential integrity\par \pard\li568\tx3408\cf0\par Facilities not yet implemented:\par \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\fi-284\li1278 Standard SQL DDL \f1 -\f0 CREATE/DROP TABLE, CREATE/DROP INDEX\par \pard\li568\tx3408\par Platforms supported:\par \pard\fi-994\li1988\tx1988\i Server\i0\tab NCR (iatt), Linux (ilinux), SCO Unix (iscounix); Intel Solaris (isunos5); Sparc SunOS 5 (ssunos5);\line PARISC HP-UX 11 (phpux)\par \i Client\i0\tab Windows 95, 98, NT, 2000, Server platforms.\par \pard\par \pard\li284\b\fs24 Documents\par \b0\fs20 Documents available in this release:\par \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\fi-294\li852\tx3408 README.TXT\tab This document as ASCII text file.\par {\pntext\f4\'B7\tab}Readme.wri\tab This document (Windows Rich Text Format):\line\pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\li3408 Describes installation procedure for Unix Server as well as Windows Client.\par \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\fi-294\li852\tx3408 Implemnt.wri\tab Implementation notes discussing features supported in this release.\par \cf0{\pntext\f4\'B7\tab}Release.wri\tab Release notes and change history.\par \pard\li558\tx3408\cf0\par \pard\li284\b\fs24 Summary\par \b0\fs20 This file contains instructions on how to install and configure the \i CL4 OpenAccess ODBC Server\i0 and \i Client\i0 . The Server is currently only available for Unix style operating systems. Although a couple of line oriented client programs are also provided for Unix (which are loaded with the server installation), this document describes procedures for the installation of the Client suite for PCs running various flavours of Windows. This document contains the following sections:\par \par \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\fi-284\li852\b Server Installation and Configuration\b0\par \pard\fi-426\li1278\tx1278\f2\fs16\'a8\f0\fs20\tab Installing the Server\par \f2\fs16\'a8\f0\fs20\tab Reinstalling an Existing Server\par \f2\fs16\'a8\f0\fs20\tab Server Environment\par \f2\fs16\'a8\f0\fs20\tab Database Management\par \f2\fs16\'a8\f0\fs20\tab Setup Procedure\par \f2\fs16\'a8\f0\fs20\tab Starting the Server\par \f2\fs16\'a8\f0\fs20\tab Shutting Down the Server\par \f2\fs16\'a8\f0\fs20\tab Operating System Startup/Shutdown\par \f2\fs16\'a8\f0\fs20\tab Administration Facilities Reference\par \f2\fs16\'a8\f0\fs20\tab Demonstration Data\par \par \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\fi-284\li852\b Client Installation and Configuration\b0\par \pard\fi-426\li1278\tx1278\f2\fs16\'a8\f0\fs20\tab Installation\par \f2\fs16\'a8\f0\fs20\tab Client System Setup\par \f2\fs16\'a8\f0\fs20\tab Usage\line\pard\par \b\fs32 Server Installation and Configuration\fs24\par \pard\li284\par \pard\li284\tx1136\b0\fs20 Currently the CL OpenAccess Server will only run on Unix style platforms. The following installation instructions refer to operating system commands in a Unix environment.\par \pard\fi-568\li1136\tx1136\par \pard\li284\b\fs24 Installing the Server\par \pard\b0\fs20\par \pard\fi-568\li1136\tx1136 1)\tab Create a user "oaccess" and login as "oaccess".\par \par 2)\tab As user "oaccess", setup a $PATH which includes the CL4 bin directory. The CL4 utilites are required during the install process in order to generate sample databases and schema according to your particular environment.\par \par For CD installation,\par \par 3)\tab Mount the CD. Some Unix systems will automount your CD when you load it into the system's CD drive. Others require an explicit \i mount\i0 command to tell the system the CD has a Unix filesystem on it and make it available to the system. Note that this CD should be unmounted (usually using the \i umount\i0 command) after the software has been installed. On many systems this is performed automatically with the \i eject\i0 command.\par \par 4)\tab Change to the top-level CD directory. You will need to find out where your CD mounts to on your Unix system.\line Replace "\i /\i0 " in the following statement with the appropriate directory for your CD.\par \par \pard\li2130\f3 $ cd /\i \i0 /oa_server\par \pard\fi-568\li1136\tx1136\f0\par For installation from a web-downloaded distribution tar file:\par \par 3)\tab The distribution file as downloaded from the web is of the form:\par \par \pard\li2130 cloas_\i \i0 _1_4.tar.Z\par \pard\fi-568\li1136\tx1136\par \tab Place this file using ftp or some equivalent utility into an appropriate place accessible by the \i oaccess\i0 user, for example in the /tmp directory, or the ~oaccess home directory. Unpacking to the oaccess home will not create directories which conflict with the installation process in any way.\par \par 4)\tab Replacing \i \i0 with the appropriate platform locale name as listed below (for example \i iscounix\i0 for SCO Unix 3.x), unpack the distribution file, for example:\par \par \pard\li2130\f3 $ uncompress \i0 /oa_server/install/\i \i0\par \pard\li2130\tx2840\f0\tab or\i\par \pard\li2130\i0\f3 $ cd install/\i \i0\par \pard\li2130\tx2840\f0\tab for web-distribution, then\par \pard\li2130\f3 $ ./setup.sh\par \f0\par \pard\li1420 where:\i\par \pard\li2130\tx3408\tx5112 \i0\tab Path to your mounted CD-ROM (eg /cdrom)\par \i \i0\tab is your platform locale name:\par \tab \b aunix\b0\tab Alpha/Digital Unix (OSF)\par \tab \b avms\b0\tab Alpha/Open VMS\par \tab * \b iatt\b0\tab NCR (Intel)/AT&T Unix\par \tab * \b ilinux\b0\tab Linux (Intel) 6.x\par \tab * \b iscounix\b0\tab Intel SCO Unix\par \tab * \b isunos5\b0\tab Intel SunOS5 (Solaris 2.x)\par \tab \b mvs\b0\tab IBM 390 OS/390 (MVS 5.2.2 with OpenEdition)\par \tab \b os2\b0\tab Intel/IBM OS/2 Warp 4\par \tab * \b phpux\b0\tab PARISC/HP-UX 11\par \tab \b raix\b0\tab RS6000/IBM AIX\par \tab * \b ssunos5\b0\tab Sparc SunOS5 (Solaris 2.x)\par \tab \b vvms\b0\tab VAX/Open VMS\par \par Server platforms supported in this release are indicated with an * above and in the list at the top of this document.\par \pard\fi-568\li1136\tx1136\par \pard\fi-710\li1846\tx1846\i Note:\i0\tab It has been observed that some platforms mount the CD in such a way as no files have the \i execute\i0 attribute set. Thus the above shell scripts will not work directly off the CD. Please call for support if such a situation occurs on your platform \f1 -\f0 a patch for the installation procedure will be made available in a future release.\par \pard\par \pard\fi-568\li1136\tx1136 6)\tab Enter the required server directory for the installation. A shell variable like \i $HOME/ \i0 may be used in the dirspec if desired.\par \pard\li1420\tx2272\i Default:\i0\tab $HOME\par \pard\par \pard\fi-568\li1136\tx1136 7)\tab Enter the your host's \i IP address\i0 , \i port number\i0 , \i client key\i0 and \i server key\i0 . Most of these fields have default values, or determine them from the current environment:\line\par \pard\li2130\tx4260 IP address required:\tab \par Port number:\tab 1706\par Client key:\tab As distributed with your installation CD\par Server key:\tab As distributed with your installation CD\par \pard\fi-568\li1136\tx1136\par 8)\tab The installation proceeds.\par \par 9)\tab Edit \i $HOME/.cshrc\i0 or \i $HOME/.profile\i0 as instructed to include the shell script which sets up your server environment variables. If a different shell is being used which is not compatible with either Bourne (sh, ksh, bash or equiv) or C shell, then make appropriate modifications to the "\i config/setup.[c]sh\i0 " file.\par \par 10)\tab To use the CL utilities in conjunction with stored procedures (see the implementation guide, \i Implemnt.wri\i0 , supplied along with your distribution), also include the path to the CL bin directory in your \i .profile\i0 or \i .cshrc\i0 file, for example with Bourne shell varieties (sh, ksh or bash):\par \par \pard\li2130\tx4260\f3 CL=/usr/cl4\par PATH=$PATH:$CL/bin:$HOME/bin/\i \i0\par \pard\fi-568\li1136\tx1136\f0\par The final directory structure after installation should look something like the following:\line\line\pard\fi-568\li1136\tx1136\tx5680 ~oaccess\tab Home directory, \i .profile\i0 or \i .cshrc\i0 file\line ~oaccess/bin/\i \i0\tab Executable programs\line ~oaccess/data/cl4\tab Demonstration databases\line ~oaccess/log\tab Server log files\line ~oaccess/config/\i \i0\tab Configuration files, \i setenv.[c]sh\i0 file\line ~oaccess/schema\tab Schema control directory\par \par \pard\li568\tx1136\tx5680 Note that although the demonstration data loads into the \i oaccess\i0 directory structure, this is not mandatory (or even generally desirable) that user databases be placed in this location. See below for more information.\par \pard\par \pard\li284\b\fs24 Reinstalling an Existing Server\b0\par \pard\li710\fs20\par This facility has not been tested at this point. Care should be taken that pre-existing configuration information (in the \i config/...\i0 subdirectory) and connection information (in the \i schema/...\i0 subdirectory) have been saved before attempting to reinstall over an existing installation. It should be noted that the formats of most of the configuration and schema files may be different than old versions of the CL4 ODBC server, and in lieu of install-time conversion facilities it is recommended that the new installation be reconfigured as appropriate to your server requirements. Please call Multibase for assistance in upgrading an existing schema to the format supplied in this release.\par \par \pard\li284\b\fs24 Server Environment\par \pard\b0\fs20\par \pard\li710\b Terms\b0\par Throughout this document the term \i Schema\i0 is used to denote a particular collection of databases and users which may access them from within an SQL environment. A \i connection\i0 which is made to an ODBC Server will therefore correspond to one and only one Schema.\par \par In OpenRDA parlance a connection is called a \i database\i0 and care should be taken not to confuse this with the databases defined for a given Schema. The term \i database\i0 will be referred to while using the \i rdaadmin\i0 facility (both in Windows as well as under Unix) as well as in Windows when defining an ODBC connection using the Control Panel.\par \b\par Connection\par \b0 A \i connection \i0 is an ODBC compliant channel through which access to a \i schema\i0 is made. Connections are defined using the OpenRDA utility \i rdaadmin\i0 (see below). Each connection can be thought of as the definition of a physical socket into which one or more remote clients can simultaneously connect to the server host.\par \par \b Schema\par \b0 For each defined connection there is a one-to-one correspondence with a \i Schema\i0 , the information of which is maintained in a schema datafile in the \i schema/cl4\i0 directory in the \i oaccess\i0 user environment. Each schema defines an SQL environment which is distinctly separate and inaccessible from other schemas. The creation and configuration of each schema is performed entirely within the Interactive Server Monitor and Control utility, \i srv\i0 , once the connection itself has been defined.\par \par A set of one or more preexisting CL4 databases can be identified for use with each schema, and multiple SQL users (as distinct from Unix users) can be defined for each schema. Alternate schemas can "contain" or point to the same physical CL4 databases if desired. See \i Administration\i0 for more information about connection definition and schema creation.\par \par \b Data\par \b0 Database samples have been provided in the \i data/cl4\i0 directory (see \i Demonstration Data\i0 , below) allowing ample scope for experimentation for your installation. Note that the location of this database directory in \i ~oaccess/data/cl4\i0 is by no means mandatory or even necessarily recommended for your installation. You are welcome to create your own schema connections which could allow access to databases in diverse locations. Note that in order to be able to use your databases with the CL server the Unix permissioning on them needs to provide both read \i and write\i0 access for the \i oaccess\i0 user. See \i Database Management\i0 for more information. \i Stored Procedures\i0 are kept in appropriately named subdirectories under the relevant database location. In our examples, each database (like \i DEMGL\i0 ) has an associated procedure subdirectory named \b .prc\b0 (eg, \i DEMGL.prc\i0 ).\par \par \pard\li284\b\fs24 Database Management\par \pard\li710\b0\fs20\par The CL4 OpenAccess Server has the ability to access multiple databases within a given Schema. The databases accessible from a given schema indeed need not be located in the same place (directory), and access can therefore be limited to specific databases in well defined locations (rather than allowing a user free range access to all databases in a directory). If desired, a schema comprising of a single \i DBDEF4\i0 database may be configured which will enable access to \i all\i0 databases over which the \i DBDEF4\i0 database presides.\par \par One important point to note in using existing CL4 databases within an SQL environment is that tables and fields must not have names equivalent to any SQL reserved words. For example, column names like "index", "open", "close" or "unique" will generate a syntax error if accessed using the ODBC server (see \i The "cl4_conn" Schema\i0 below for an example). In such cases the field (or table) must be renamed before using it with the server. See the Implementation Guide \i Implemnt.wri\i0 for a list of the SQL reserved words which should be avoided in your naming conventions.\par \b\par \pard\li284\fs24 Setup Procedure\par \pard\li710\b0\fs20\par This section outlines the basic functions to be performed to configure a connection once installation has been successfully completed. The following assumes you have correctly set the RDA runtime environment variables and a path to the \i CL4\i0 utilities. The \i oaccess\i0 login profile (\i .profile\i0 or \i .cshrc\i0 file) should by now include the relevant references as outlined above. Perhaps by logging out then logging in again you will ensure a clean, current environment has been set up.\par \par It would be the most convenient if the following steps are performed using the \b\i srv\i0 \b0 utility (see \i Administration\i0 below) as the starting point. You could use the predefined connections created during the installation procedure for testing if desired (in which case you should be able to go straight to \i Starting the Server\i0 ).\par \par \pard\fi-568\li1988\tx1988 1)\tab Start \i srv\i0 .\par 2)\tab Create one or more new Connections using \b C\b0 (\i Connections\i0 ).\par 3)\tab Create new Schema for the defined connections using \b S\b0 (\i Schema\i0 ). See \i Administration\i0 , \i schemaint\i0 for instructions.\par 4)\tab Start the server using \b R\b0 (\i Run\i0 ).\par 5)\tab Configure a client system as below.\par 6)\tab Start a client program (like \i Microsoft Query\i0 (via Excel), or \i Microsoft Access\i0 ) and connect as required.\par 7)\tab You should see a Client instance appear in the \i srv\i0 Server monitor screen.\par \pard\li710\par Note that the server does not need to be stopped in order to define new connections or schema.\par \par \pard\li284\b\fs24 Starting the Server\par \b0\fs20\par \pard\li710 Once the server environment has been configured correctly to include all the schema and databases which are relevant to your installation, the server may be started up. There are two ways this may be accomplished:\par \par Using the \i srv\i0 utility, select the \b R\b0 key to \i Run\i0 the server. You should see one server \i Master\i0 process appear in the display area. At this point a remote client may be started up, causing a \i Client\i0 instance to appear in the display.\par \line Alternatively, you can start the server using the \i srvstart\i0 utility. Server usage can be checked with the \i srvstat\i0 utility. \i Srvstart\i0 can be used in a host's \i /etc/rc[.d]\i0 system startup file in order to start the server at system boot time.\par \par \pard\li426\i Why Doesn't It Start Up?\i0\par \pard\li710\par There may be several possible reasons why a server can't be started. In general you should be able to find diagnostic information in the server's log file. Select the \b L\b0 \i Logfile\i0 function in \i srv\i0 to examine the contents of the server log file.\par \par The most common reason for a server which cannot be started is that your license string may be incorrect. Licenses are specific to the platform types requested for your installation. You should have been issued with a Client and Server license which should support each server platform in your installation.\par \par Another reason for a server which does not start could be that it may be already running on the defined port (by default port 1706). It is possible, although not common or advisable, for multiple instances of the server to be started in other environments (ie, with a separate set of the schema and configuration data). The \i srv\i0 utility may not be able to see the server process running in another environment. Use the Unix command \i ps -ef\i0 to check for any running \i oaserver\i0 processes which may not have been seen in the display area of \i srv\i0 . Alternatively, the \i srvstat -a\i0 command (see below) will list all server instances running under all logins.\par \line Ensure your server environment is correct before attempting to start up the server. Directories which are required in order to start the server include the following:\par \pard\fi-2130\li3408\tx3408 $OA_ROOT/log\tab Contains the server log file\par $OA_ROOT/cache\tab Server cache directory\par $OPENRDA_INI\tab Server configuration file. This may be viewed using \b I\b0 \i Inifile\i0 from the \i srv\i0 utility. This file is usually set to the location \i $OA_ROOT/config//openrda.ini\i0 .\par $OA_ROOT/schema\tab Base location for all schema definitions.\par \pard\li710\par \pard\li426\i Why Can't I Connect to a Specific Schema?\i0\par \pard\li710\par As before, check the server log file for any diagnostic information which may have been output. Bear in mind that if \b T\b0 \i Tracing\i0 is turned on, this log file can get quite huge! The server must be restarted in order to turn tracing on and off. Serious faults will be reported to the log file regardless of the Trace flag.\par \par It is important to ensure that \b\i all\i0 databases referenced by a given schema to which you are attempting to connect actually do exist\b0 , and that their paths have been correctly specified using \i DatabaseMaint\i0 in \b S \b0\i Schema\i0 Maintenance in the \i srv\i0 utility. These paths are relative to the database root defined in the \i CONNECT_STRING\i0 field when setting up the connection details. Note also that the path defined should \i not\i0 include the name of the database itself.\par \par In addition, it is important to note that \b any database being accessed by the CL4 Server \i must\i0 be writable as well as readable by the \i oaccess\i0 user \b0 where the server has been started. That is, it's permissions should be "rw-rw-rw". Where this is a security issue, please contact Multibase support to determine possible strategies for data access.\par \par The username or password you are using to connect to the schema may be incorrect. All usernames and passwords are case sensitive, and passwords can be of any length.\par \par In order to verify the connection, try initially using a basic client connection program such as \i Microsoft Query\i0 , rather than a more elaborate program to connect to the server. Alternatively, try running one of the Unix command-line utilities \i oaisql\i0 or \i odbcisql\i0 to connect to the schema.\par \par You will not be able to run an old client against a newer server version. Check the client and server versions to ensure compatibility. It is best to uninstall an old client prior to reinstallation.\par \par Ensure your connection definitions in \b C\b0 \i Connection\i0 under the \i srv\i0 utility refer to the correct schema directory. In order to reference the correct schema file location this should be set to \i ./cl4\i0 as described below for the SCHEMA_PATH value in \b rdaadmin\b0 in the section \i Administration Facilities Reference\i0 .\par \pard\li284\par \b\fs24 Shutting Down the Server\par \b0\fs20\par \pard\li710 In general a running server can only be shut down if there are no active clients running. You can either use the \i srv\i0 utility to \b H\b0 \i Halt\i0 the server, or use the standalone \i srvstop\i0 utility. Both utilities detect any running clients and will confirm whether you wish to terminate these clients as well.\par \par In some circumstances the server may not halt with this command. Provided no clients are currently running, it should be safe to forcefully terminate the server. In this case, use the \b K\b0 \i Kill\i0 command in \i srv\i0 to terminate the server process. Alternatively you can issue \i srvstop -k\i0 to kill the process.\par \par \pard\li284\b\fs24 Operating System Startup/Shutdown\par \b0\fs20\par \pard\li710 A shell script named \b cloasrun.sh\b0 has been included in the distribution to facilitate automatic startup and shutdown of the ODBC server at system startup/shutdown time. The following installation instructions relate to System V flavours of Unix, although the script can be tailored as appropriate for other versions of the operating system.\par \par The script \b cloasrun.sh\b0 may be found in the \i bin/\i0 directory after installation and should be copied (while logged in as the user \i root\i0 ) to the \i /etc/init.d\i0 directory as \b cloasrun\b0 . This is the standard location for sources of startup/shutdown scripts in Unix.\par \par The script is then linked into the \i /etc/rc2.d\i0 directory under the filename \b S\i xx\i0 cloas\b0 where \i xx\i0 represents a sequence number from 00 to 99. It is recommended that sequence 99 be selected to allow other system- and disk-oriented startups to be performed first. Note that it is permissible to use sequence number 99 even if other products are started using sequence 99.\par \par In order to shut down the server the script should also be linked to \i /etc/rc0.d\i0 under the filename \b K\i xx\i0 cloas\b0 in order to kill the process during shutdown. Note that server shutdown is invoked by killing all connected clients unceremoniously. It is therefore prudent to ensure that all users of the server be logged off prior to system shutdown. Use the \b srv\b0 utility to verify the status of the server and connected clients.\par \par Automated setup of this procedure is not provided during installation as root privileges are required in order to place files in these directories.\par \par \pard\li284\b\fs24 Administration Facilities Reference\b0\par \pard\fs20\par \pard\li710 The following Unix utilities are provided to enable you to define and configure connections and schema for access to the ODBC Server, and also display and monitor the activity of the Server. In general, the \i srv\i0 utility provides access to all the sub-utilities and functions which they perform.\par \pard\par \pard\fi-1420\li2130\tx2130\b srv\b0\tab\i Interactive Server monitor and control utility.\i0\par \tab\tab Allows continuous monitoring of the state of the server and any open client connections.\par \par \pard\fi-1562\li4260\tx3550\tx4260\tx5112\i Keys:\i0\tab\b R\b0\tab\i Run\i0 \f1 -\f0 Start server if not currently running.\par \pard\fi-710\li4260\tx4260\b H\b0\tab\i Halt\i0 \f1 -\f0 Halt server gracefully if running.\par \b e\b0\tab\i rEstart\i0 \f1 -\f0 Halt then Start server.\par \b K\b0\tab\i Kill \i0\f1 -\f0 Kill server ungracefully.\par \b T\b0\tab\i Trace\i0 \f1 -\f0 Toggle tracing. Only takes effect when the server is next Restarted.\par \b L\b0\tab\i LogFile \i0\f1 -\f0 Display (using vi) the Log file.\par \b I\b0\tab\i IniFile\i0 \f1 -\f0 Displays the \i openrda.ini\i0 file in the \i config\i0 directory. It is not recommended to modify this file directly.\par \b C\b0\tab\i Connections\i0 \f1 -\f0 Starts the \i rdaadmin\i0 utility to allow setup of connections.\par \b S\b0\tab\i Schema\i0 \f1 -\f0 Starts the \i schemaint\i0 utility to allow configuration of a schema.\par \b ^L\b0\tab Refresh the display.\par \b Q\b0\tab Quit the \i srv \i0 utility.\par \pard\fi-852\li3550\tx3550\tx4260\par \pard\fi-1420\li2130\tx2130\tab If \i srv \i0 is started using an X-terminal session or resizeable telnet client like CRT starting with an 80x24 screen, the window will resize to 132x24 when \i LogFile\i0 is selected, and resize back on return. This doesn't work too well if the standard Win95 \i telnet \i0 program is used to access the utility.\par \par \tab Note that the log file can get quite big if \i Trace\i0 ing is turned on. The server will also slow down dramatically with all the information being generated. A future release of \i srv\i0 will provide for multiple levels of debugging output to help you sift through the file. Any serious errors will be reported in the log file regardless of whether tracing is turned on or not.\par \pard\par \pard\fi-1420\li2130\tx2130\b rdaadmin\b0\tab\i OpenRDA connection definition utility.\par \i0\tab This utility is invoked from \b srv\b0 using the \b\i C\b0 onnections\i0 function. It is used to define the server name and the connections (a.k.a. "databases" in OpenRDA parlance) required to access schemas in your Unix system. The relevant fields which need to be set up using \i rdaadmin\i0 are as follows:\par \par \pard\fi-2130\li4686\tx4686\i DATABASE\i0\tab Defines this \i connection name \i0 you wish to refer this entry to.\par \par \i ADDRESS\i0\tab The host IP address that the server is running on (ie, "the current" Unix machine).\par \par \i PORT\i0\tab Keep this as "\b 1706\b0 " for ODBC access using the CL4 OpenRDA Server.\par \par \i CONNECT_STRING\i0\tab Set this to the path of the \i top level \i0 of your database directory tree. This can be used to restrict database locations for a given schema to databases in the specified directory and below. This location therefore becomes the root of your database tree for this connection. If this value is left empty, then schema databases may point to CL4 databases anywhere in your Unix environment.\par \par \i TYPE\i0\tab "\b CL4\b0 ". Identifies the database driver (CL4) required for this connection.\par \par \i SCHEMA_PATH\i0\tab "\b ./cl4\b0 " to use the standard location \i schema/cl4\i0 . Whereas the schema may be kept anywhere, it is probably the most convenient to leave it in the \i oaccess\i0 environment.\par \par \i REMARKS\i0\tab As desired.\par \par \pard\fi-1420\li2130\tx2130\tab Use the connection name you have specified here when defining your connection using rdaadmin on the client, and when relating the Schema to the connection using \i schemaint\i0 . A set of predefined connections for demonstration purposes have already been set up. These will correspond to the databases in the \i data/cl4\i0 directory.\par \par \b schemaint\b0\tab\i Schema data file editor.\i0\par \pard\fi-1420\li2130\tab\tab\tab This utility is invoked from \b srv\b0 using the \b\i S\b0 chema\i0 function. In this implementation the \i Schema data file\i0 replaces the \i Connection Definition File\i0 (.cdf) from previous implementations. It is not important from which directory you invoke this utility, as the relevant files and directories will be accessed as required. On entry a list of the defined \i connections\i0 which you set up using the \i rdaadmin\i0 utility will be displayed. Any entry preceded by an exclamation ("\b !\b0 ") is one for which there has not yet been a schema database created (ie, only has a Connection defined for it). Use the \b\i I\b0 nitialise\i0 command to create an initial blank schema for such entries.\par \par \pard\fi-1562\li4260\tx3550\tx4260\tx5112\i Keys:\i0\tab\b j\b0\tab\i Down\i0 \f1 -\f0 Move down to next schema.\par \pard\fi-710\li4260\tx4260\b k\b0\tab\i Up\i0 \f1 -\f0 Move up to previous schema.\par \b I\b0\tab\i Initialise\i0 \f1 -\f0 Create a new blank schema for the connection.\par \b D\b0\tab\i DatabaseMaint\i0 \f1 -\f0 Maintain a list of databases accessible under this schema using a CL style form.\par \b U\b0\tab\i UserMaint\i0 \f1 -\f0 Maintain a list of users for this schema using a CL style form.\par \b S\b0\tab\i SqlConnect\i0 \f1 -\f0 Invoke the OAIsql interactive SQL utility\par \b ^L\b0\tab\i Refresh\i0 \f1 -\f0 refresh the screen.\par \b Q\b0\tab\i Quit\i0 \f1 -\f0 Quit from the \i schemaint\i0 utility.\par \pard\fi-1420\li2130\par \pard\fi-1420\li2130\tx2130\tab For \b User Maintenance\b0 , specify the \i Username\i0 , \i Superuser flag\i0 , \i Password\i0 and \i Description\i0 you wish to allow each user to connect remotely to the schema.\par \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\fi-436\li2850\tx2130 One user (usually "sa", the database System Administrator) should be designated as the "SuperUser" who will be given full privileges to modify data structures within the schema.\par \i{\pntext\f4\'B7\tab}Passwords\i0 are maintained in encrypted format and can contain any number of letters, numbers or symbols. The password will be requested twice for verification when setting it, and will not echo on the screen while being typed. The password may be left empty if desired.\par {\pntext\f4\'B7\tab}The \i Password\i0 element may also be specified with a "-" (minus or dash) which sets the password to the external Unix password for this user. Thus if a user of this name exists in your Unix environment then a password is not required if the user is already logged into the Unix environment. (Note that this would exclude remotely connected users) See the Implementation Guide, \i Implemnt.wri\i0 for more information.\par {\pntext\f4\'B7\tab}The \i Description\i0 may be any free-form descriptive text to identify the user. This information is made available within the SQL environment in the \i cl_users\i0 table.\par \pard\fi-1420\li2130\tx2130\par \tab For \b Database Maintenance\b0 , specify the \i Database Name\i0 , \i Path\i0 , \i Sequence number\i0 , \i Password\i0 , and \i Description\i0 elements.\par \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\fi-436\li2850\tx2130 The \i Database name\i0 is the name of the CL4 database you wish to connect to, in the \i Path\i0 as specified. This database name may be DBDEF4, in which case all databases in the current directory are included in the schema.\par {\pntext\f4\'B7\tab}The \i Path\i0 is a relative path string that locates the directory where the given database may be found. If a database root path has been given in the \i CONNECT_STRING\i0 value for the connection, then \i Path\i0 is taken as relative to this location. This field may be left empty to reference databases in the database root directory. If the database root (\i CONNECT_STRING\i0 ) is empty, then this \i Path\i0 value should be given as an absolute path (ie, specified from the root of the Unix filesystem). Note that the \i Path\i0 string should not include the database name.\par {\pntext\f4\'B7\tab}The \i Sequence number\i0 is a value which defines the order in which the listed databases will be searched when accessing a given table. Should a table of the desired name reside in more than one of the defined databases, the first database in sequence order containing the requested table will be used. See the Implementation Guide (\i Implemnt.wri\i0 ) for more information about database search orders.\par {\pntext\f4\'B7\tab}The \i Password\i0 is for use when logging in to the server connection using the database name as the username. This allows you to "become" the database \i owner \i0 in order to perform DDL (Data Definition Language) commands on the database. It should be noted however that with the exception of \i view \i0 and \i procedure \i0 manipulation, DDL commands are not yet implemented in this release of the CL4 ODBC server.\par {\pntext\f4\'B7\tab}The \i Password\i0 element may also be specified with a "-" (minus or dash) which sets the password to the external Unix password for this user.\par \pard\fi-1420\li2130\par \pard\fi-1420\li2130\tx2130\b srvstop [-kynh]\b0\tab Stops the server.\line\line Options:\par \pard\fi-568\li3124\tx3124\b -k\b0\tab The server will be stopped ungracefully. This will also kill any attached clients, so use this option with care.\par \b -y\b0\tab Automatically answer "Yes" to the question: "Kill clients also?".\par \b -n\b0\tab Answer "No" to the question, if it occurs.\par \b -h\b0\tab Help\par \pard\par \pard\fi-1420\li2130\tx2130\b srvstart [-q]\b0\tab Starts the server.\par \par \tab Options:\par \pard\fi-568\li3124\tx3124\b -q\b0\tab Quietly.\par \pard\fi-1420\li2130\tx2130\par \b srvstat [-vanq]\b0\tab Displays server status.\par \par \tab Options:\par \pard\fi-568\li3124\tx3124\b -v\b0\tab Verbose mode. Also reports the theoretical port number the server is running on.\par \b -n\b0\tab Numeric status values only are output (\i \b\i0\fs24 /\b0\i\fs20 \i0 ).\par \b -a\b0\tab Report details on servers running in other environments.\par \b -q\b0\tab Suppress information about servers in other environments.\par \pard\fi-1420\li2130\tx2130\par \b srvrestart\b0\tab Restarts the server. Options as for \i srvstart\i0 .\par \pard\par \pard\fi-1420\li2130\tx2130\b showserver.sh\b0\tab (obsolete) Displays the current server processes.\par \par \b oaenv\b0\tab Displays the version numbers and environment of the CL OpenAccess Server.\par \pard\par \pard\li284\b\fs24 Condition of the Server Envirnoment After Installation\par \pard\li710\b0\fs20\par The CL4 ODBC server environment as installed contains a few sample connection/schema configurations which access the demonstration databases included in the distribution. It should be noted however that aside from the \i sa\i0 (administrator) user, any additional normal SQL users will by default have no permissions to access this data. This is normal in the world of SQL, and it is the task of the database administrator to grant permissions or roles to new SQL users in order to access data in the schema environment.\par \pard\li284\b\fs24\par Demonstration Data\b0\par \pard\fs20\par \pard\li710 Demonstration connections and schemas are provided as an example of the kinds of configurations which can be set up, and you are welcome to examine and modify at any time. Three connections (and therefore three schema) will have been set up, named \i menusys\i0 , \i cl4_conn\i0 and \i alldb\i0 . As mentioned previously, several databases have been placed in the \i data/cl4\i0 directory relative to the installation location of the server. The three schema which have been set up have been configured with the following attributes:\par \par \b The "menusys" Schema\b0\par The \i menusys\i0 schema is a simple single-database SQL environment containing the standard CLMENU database. There are two users configured to use this environment:\par \par \pard\fi-994\li2414\tx2414\i sa\i0\tab The system or schema administrator. The password for this user is "\i admin\i0 ". This user is seen to be the superuser of this schema, and its use should be viewed in a similar manner as "root" in a Unix environment.\par \par \i scott\i0\tab A sample user of this schema. The password for this user is "\i tiger\i0 ". Note that no permissions have been set up for the \i scott\i0 user. To allow this user to access database structure you must first sign in as \i sa\i0 and grant access permissions for \i scott\i0 to use one or more database elements.\par \par \i CLMENU\i0\tab This being the name of the database itself, logging in as this user is akin to becoming the \i owner\i0 of the database. The password for this entry is "\i clmenu\i0 " (in lowercase). Ordinarily you would give it some obscure password so that the casual user could not get access to raw data in this database. Become this user if you wish to add or drop tables, or perform some other owner-oriented function.\par \pard\li710\par Additional users may be defined as required. It should be noted that passwords may be as long as desired, or even null (left empty), and they \i are\i0 case sensitive.\par \b\par The "cl4_conn" Schema\par \b0 This schema is an example of a multiple database SQL environment with two databases defined. The familiar DEMGL database is provided here, along with another named TIMEBILL, a Time and Billing sample database. Users are as before, \i sa\i0 for the System Administrator, and \i scott\i0 as a sample user (remember that \i scott\i0 initially has no permissions to access database structures). In addition, the database names themselves may be used to login and become the \i owner\i0 of that database:\par \par \pard\fi-994\li2414\tx2414\i DEMGL\i0\tab Password "\i demgl\i0 " (in lowercase).\par \par \i TIMEBILL\i0\tab Password "\i timebill\i0 " (also in lowercase).\par \pard\li710\par The DEMGL database provided is essentially the same as is distributed with \i CL4\i0 , for those familiar with this demo database. Three changes have been made to the field names in order to avoid conflict with SQL reserved words. See the Implementation Guide (\i Implemnt.wri\i0 ) for a list of the SQL reserved words.\par \par \pard\fi-994\li2414\tx2414\i Open\i0\tab has been renamed to \i OpenBal\i0 ,\par \i Close\i0\tab has been renamed to \i CloseBal\i0 , and\par \i Unique\i0\tab has been renamed to \i UniqueFlag\i0 .\par \pard\li710\par The \i cl4_conn\i0 schema connection is also set up to demonstrate the use of specifying a common root location for databases through the CONNECT_STRING parameter, defined in the connection maintenance utility \i rdaadmin\i0 . Note that as this value is specified in the connection definition, no paths need be given to the databases in Database Maintenance in order to locate them. Specifying the root database location allows some control over the topmost level directory for which an administrative user in the SQL environment may define databases.\par \par \b The "alldb" Schema\b0\par The final schema, \i alldb\i0 , is provided to demonstrate access to \i all\i0 databases in a directory by configuring the schema with \b DBDEF4\b0 as the sole database. As there are three other databases in the \i data/cl4\i0 directory, use of this schema will provide access to \i all\i0 \i three\i0 databases in the directory; there is no need to specify each of the databases separately in schema database maintenance.\par \par If logged in to the server as the \i DBDEF4\i0 owner, this user becomes a SuperUser by convention. Therefore, login access to DBDEF4 should be protected as if the user were \i sa\i0 , the SuperUser.\par \par As before, users \i sa\i0 and \i scott\i0 are defined in this schema, along with \i CLMENU\i0 , \i DEMGL\i0 , \i TIMEBILL\i0 , and of course \i DBDEF4\i0 , with the corresponding passwords to match.\par \par \b Notes:\b0\par \pard\fi-284\li1704\tx1704 1)\tab When a database is assigned to a schema, by default there are only two users who have unrestricted access to the tables in the database, namely the SuperUser (usually \i sa\i0 ), and the database owner. In order to allow a list of regular users to access tables in the database(s) the database administrator must grant access to either the individual users or to PUBLIC.\par \par 2)\tab As DDL (Data Definition Language) commands like "CREATE TABLE" have not yet been implemented, there is currently limited usefulness in logging in as the database "owner". A future release will implement these commands and thereafter becoming the database owner will be \i required\i0 in order to manipulate data objects in the schema. Currently, the standard CL4 database definition utilities should be used to maintain and extend database configuration.\cf1\par \pard\li568\cf0\par \pard\li284\cf0\b\fs24 Diagnostic Facilities\par \pard\li710\b0\fs20\par \pard\li568 The CL4 ODBC Server provides logging and tracing facilities in order to diagnose possible problems in the server. See the Implementation Guide \i Implemnt.wri\i0 for full details on the built-in diagnostic features.\par \par \pard\cf0\b\fs32 Client Installation and Configuration\par \b0\fs20\par \pard\li284\b\fs24 Installation From CD Media\par \pard\b0\fs20\line\pard\li568 Installation of the \b ODBC client software \b0 should initiate automatically on insertion of the CD into your PC's CD-ROM drive. If your CD-ROM drive's autostart facility has been turned off, install the client software manually from the CD thus:\par \pard\par \pard\li1420\b [Start],\b0 \b [Run],\b0 \i \b\i0 :\\client\\odbc\\iwinnt_odbc_driver.exe\par \pard\b0\par \pard\li994 where:\par \pard\li1420\tx2698\tx3408\tx4544\i \i0\tab is the drive-letter of your CD-ROM drive\par \pard\par \pard\li994 and follow the installation instructions.\par \par \pard\li568 The above procedure will install the default \b ODBC client \b0 on your PC system. Two alternative client drivers are also provided in the distribution which allows greater flexibility in terms of access to remote servers: The JDBC and OLE-DB drivers. These may be found in and installed from the following directories, respectively:\par \par \pard\li1420 JDBC client\tab\tab\i \b\i0 :\\client\\jdbc\\iwinnt_jdbc_driver.exe\par \b0 OLE-DB client\tab\tab\i \b\i0 :\\client\\oledb\\iwinnt_oledb_provider.exe\par \pard\b0\par \pard\li568 The following section on Client System Setup relates to the ODBC version of the client software only.\par \par \pard\li284\b\fs24 Installation From Web Distribution Media\par \pard\li568\b0\fs20\par The ODBC, JDBC and OLE/DB installation programs are also available as a web-downloadable distribution. When these files have been downloaded, simply execute the file and installation will proceed as above.\par \pard\par \pard\li284\b\fs24 Condition of the Client Envirnoment After Installation\par \pard\b0\fs20\par \pard\li710 After installation of the relevant client program, it should be noted that there are \b no\b0 connections set up by default. In order to use the sample connections provided in the server installation, you must set up a connection on the PC for each of the three server connections.\par \par \pard\li284\b\fs24 Client System Setup\par \pard\b0\fs20\par \pard\li710 There are two main alternatives to the Client setup procedure. The first is a basic approach using the RDA administration tool and ODBC File DSN (Data Source Name). The second integrates the two by setting up only an ODBC User or System DSN, creating the RDA connections on-the-fly:\par \par \b Using \i rdaadmin\i0 and File DSNs\b0\par This approach uses a combination of the \i rdaadmin\i0 administration tool to create connection entries corresponding to the server connections defined earlier, then using the standard Windows ODBC Data Source administration tool to create a File DSN corresponding to the defined connection, which will thereby enable Client programs on the PC to connect to the ODBC Data Source by name.\par \pard\par \pard\fi-710\li1420\tx1420 1)\tab To be on the safe side, ensure you have an entry in your \i C:\\Windows\\Hosts\i0 file corresponding to the host where your server resides. This is not absolutely essential as the host can be referred to by its IP address, but it provides a measure of convenience and makes it easier to change the IP address of the host should it be moved to another location.\par \pard\par \pard\fi-710\li1420\tx1420 2)\tab Start up the \i rdaadmin\i0 program on the Client. This is a "Dos" style utility which can be found in the program group "OpenAccess" under the name "Administration Tool".\par \pard\par \pard\fi-710\li1420\tx1420 3)\tab Add a connection entry corresponding to the entry on the server defined earlier. Note that only the connection name (aka "DATABASE") and the server host is required here:\par \pard\par \pard\fi-3266\li5396\tx3834\tx5396 DATABASE:\tab\b cl4_conn\b0\tab "Database" is a misnomer: this is actually the Connection Name. It should correspond exactly with the Connection Name as defined on the server.\par \par ADDRESS:\tab \tab Hostname (either fully qualified name of the form "..com.au", or simple hostname as defined in your local \i windows\\hosts\i0 file), or else the numeric IP address of your server where the CL4 ODBC Server is installed.\par \par PORT:\tab\b 1706\b0\tab Port number on the server host where the Clserver is listening.\par \pard\par \pard\fi-710\li1420\tx1420\tab The remaining entries are ignored on the client \f1 -\f0 you may leave them blank. Note that the connection name \i must \i0 correspond exactly with that defined on the server (case as well).\par \pard\par \pard\fi-710\li1420\tx1420 4)\tab In the "Control Panel" start up the "32 bit ODBC" Administration program and add an entry to correspond with the connection:\par \pard\par \pard\fi-710\li2130\tx2130\tx2840 a)\tab First select the "File DSN" tab.\par b)\tab Add...\par c)\tab Select the "OpenRDA" driver, then click "Advanced..."\par d)\tab In the driver-specific keywords box add the following lines:\par \tab\tab Server=OpenRDA\par \tab\tab Database=\par \tab Be sure not to clobber the line which reads:\par \tab\tab DRIVER=\{OpenRDA\}\par \tab Your connection name should correspond exactly to the definition on the server, for example "\b cl4_conn\b0 ".\par e)\tab Click "OK"\par f)\tab Back on the "Create a New Data Source" page, click "Next>"\par g)\tab Give any name to define your new ODBC data source file.\par h)\tab Click "Next>", then "Finish"\par i)\tab A connection logon box appears. Enter a user and password here.\par \tab The username you enter will also be stored in the dsn file as a default.\par \pard\par \pard\fi-710\li1420\tx1420\tab If necessary the ODBC connection (data source) file may be edited using Notepad. These can usually be found in the directory:\par \pard\li2130\i C:\\Program Files\\Common Files\\ODBC\\Data Sources\par \pard\i0\par \pard\fi-710\li1420\tx1420\b Using ODBC User/System DSNs\b0\par \pard\li710 This approach is a little more straight-forward. It uses the standard Windows ODBC definition utility to create User or System DSNs as well as OpenRDA Connections at the same time.\par \pard\fi-710\li1420\tx1420\par 1)\tab Start the Windows ODBC Data Source administration tool. then select \i ODBC Data Sources (32bit)\i0 .\par \par 2)\tab Select either the \i User DSN\i0 or \i System DSN\i0 tab, depending on whether you wish this connection to be visible only to the current PC user, or available to all users of the PC (which is also used to allow NT services to access the Data Source). Select \i Add...\i0 to create a new User or System DSN.\par \par 3)\tab In the \i Create New Data Source\i0 box, select the OpenRDA driver, then click .\par \par 4)\tab The OpenRDA ODBC 32 Setup box will then be shown. Type in any identifying name you wish to refer this ODBC Data Source by in the \i O\ul D\ulnone BC Name\i0 field, along with any desired \i D\ul e\ulnone scription\i0 .\par \par 5)\tab Assuming at this point that you haven't created any RDA connections (which you would normally find in the \i Data\ul b\ulnone ase\i0 drop-down field, click the <\ul A\ulnone dvanced> button to create a new RDA connection.\par \par 6)\tab At this point a list of OpenRDA Database connections will be displayed. Click on <\ul A\ulnone dd...> to create a new connection.\par \par 7)\tab As before, fields are presented (this time in a window) for you to enter the \i Name\i0 (connection name), \i IP Address\i0 (as before), and \i Port\i0 . Again, the rest of the fields may be ignored as they are defined on the server already. Click to continue, then again unless you wish to define additional connections.\par \par 8)\tab Now your newly defined connection(s) should be available in the \i Data\ul b\ulnone ase\i0 drop-down field. Select the relevant connection and click to return to the ODBC Data Source Administrator.\par \par \pard\li710 At this point you have defined your connections and ODBC Data Sources to correspond. Unlike the previous definition procedure a Logon box will not appear here to validate your connections. Use \i Microsoft Query\i0 (see below) or equivalent tool in order to verify the connection.\par \pard\par \pard\li284\b\fs24 Usage\par \pard\b0\fs20\par \pard\li710 Ensure the CL4 ODBC Database Server application is running on the server host.\par \par Start your ODBC application on the client (PC) and initiate a connection to the server.\par If \i Microsoft Query\i0 is used in a standalone fashion (the most basic utility for ODBC use), the connection can be opened as follows:\par \par \pard\fi-426\li1420\tx1420 1)\tab Select "New query" and the ODBC connection box is displayed.\par \pard\li994\par \pard\fi-426\li1420\tx1420 2)\tab On the "Databases" tab select the connection you created and a password box should appear. The \i username/password\i0 you enter here should correspond with one of the "registered" users you have setup in the Schema data file for the connection on the server. In this way the administrator of the server environment has full control over which users can access which databases.\par \pard\li994\par \pard\fi-426\li1420\tx1420 3)\tab Select the table(s) to be retrieved using the Query Wizard.\par \par \pard\li710 Try using \i Excel \i0 which uses the \i Microsoft Query \i0 application to retrieve the data:\par \pard\par \pard\fi-426\li1420\tx1420 1)\tab In a new spreadsheet, select .\par \par 2)\tab Choose your Data Source. Data sources with asterisks next to them are defined as System DSNs, without asterisks are File DSNs.\par \par 3)\tab Login to the connection with an appropriate \i clserver\i0 -defined username and password.\par \par 4)\tab Select the table(s) to be retrieved using the Query Wizard.\par \par 5)\tab Finally, elect to have the data returned to Excel, and Finish the query.\par \pard\li994\par Your data should then be inserted into the requested cells in your spreadsheet.\par \pard\par \pard\li710 In each of the sample Schema on the server, two users have been set up \f1 -\f0 "\i sa\i0 " (password "\i admin\i0 ") and "\i scott\i0 " (password "\i tiger\i0 "). More users and databases may be added using the "\i schemaint\i0 " utility if access to alternative CL4 databases is required.\par \pard\par \pard\fi-710\li1420\tx1420\b NOTE:\tab Any CL4 databases you wish to access must have read/write permission for the "\i oaccess\i0 " user in order to be able to open it.\par \pard\par }