Access Through a Local Application Program [ TurboIMAGE/XL Database Management System Reference Manual ] MPE/iX 5.0 Documentation
TurboIMAGE/XL Database Management System Reference Manual
Access Through a Local Application Program
If you want to access a remote database using a local application
program, you have three methods to choose from.[REV BEG]
* Establishing commuications link and remote session interactively.
* Using the COMMAND intrinsic.
* Using a database-access file.
In all three cases, a local program accesses a remote database and the
data is passed across the communication line.[REV END]
Method 1--Establishing Communications Link and Remote Session
Interactively
To use the first method, interactively establish a communications link
and a remote session and enter a FILE equation for each remote database.
The FILE equation specifies which database is to be accessed on which
remote system and device. A local application program can now access a
remotely located database, as shown in Figure 9-2 .
Figure 9-2. Using Method 1
For details about using this method refer to the NS3000/XL
User/Programmer Reference Manual.
Method 2--Using the COMMAND Intrinsic
The second method is very similar to the first, but you use the MPE/iX
COMMAND intrinsic within your application program to establish the
communications link, remote session and remote database access.
To use this method you must issue a REMOTE HELLO command (either with the
DSLINE parameter or issue the DSLINE as a separate command) and a FILE
equation by calling the COMMAND intrinsic for each of these commands.
Use of the COMMAND intrinsic is explained in the MPE/iX Intrinsics
Reference Manual, and information about accessing remote files is given
in the NS3000/XL User/Programmer Reference Manual. Figure 9-3
contains a diagram of method 2.
Figure 9-3. Using Method 2
If you want to access more than one remotely located database with an
application program, you must enter one FILE equation for each remote
database.
To terminate execution perform the following steps:
1. Close the database.
2. Log off (REMOTE BYE).
3. Close the communication line.
Method 3--Using a Database-Access File
The third method involves creating a special priviliged (PRIV) file
which is called the database-access file (DBA file). This file
provides TurboIMAGE/XL with the necessary information to establish a
communications link and a remote session. It also specifies the remote
database or database-access file name so that the necessary TurboIMAGE/XL
intrinsics can be executed on the remote computer. Figure 9-4
illustrates method 3.
Figure 9-4. Using Method 3
Using the database-access file, only one database can be accessed using
each database-access file per DSLINE. For example, if two computers are
linked through two DSLINEs, you can open one database on each line.
When the user or an application program calls DBOPEN with the
database-access file name, the remote session is established and the
remote database is opened. Then other TurboIMAGE/XL intrinsics can
perform desired operations on the database. Under this method the remote
session is automatically released when the database is closed (with or
without an explicit DBCLOSE call). A second REMOTE HELLO on one DSLINE
terminates the previous REMOTE HELLO. For multiple remote database
access, method 1 or method 2 is recommended. If the database-access file
is used, an automatic REMOTE BYE and DSLINE commands are issued on the
communications line specified in the database-access file when the
application program closes the database or terminates execution.
Using method 3, the database administrator can set up a user-table that
provides more control over the database access and enhances database
security. To create the database-access file, use an editor such as
EDIT/3000. First use the SET LENGTH command to accommodate the largest
record to be included in the database-access file if the record exceeds
the default length specified for your editor. The length must be less
than or equal to 128 characters.
The following sections discuss how to create, activate, deactivate, and
reference a database-access file.
Creating a Database-Access File.
The content of the database-access file should be created in the format
shown below.
Syntax
Record 1 FILE dbname1=dbname2:nodename
Record 2 DSLINE nodename[;...]
(See NS3000/XL document for applicable parameters.)
Record 3 lusername.lacctname[,lgroupname]=HELLO rusername[/rup asw]
.racctname[/rapasw][,rgroupname[/rgpasw]]...
(See MPE/iX commands document for additional parameters.)
Record 4 Same format as record 3. Specifies other
"user.account,group" identification.
:
Record n
Parameters
dbname1 is the name of the database-access file on the
local system or the database on the remote system
you want to access, or is the formal file
designator used in the program if dbname2 is
specified. (Required parameter.)
dbname2 is the name of the database-access file or the
database on the remote system you want to access.
(Required parameter.)
nodename is the remote location of the database. This
parameter is preceded by a colon when used with the
FILE command; if followed by options with the
DSLINE command, it is followed by a semicolon.
(Required parameter.)
Refer to the NS3000/XL User/Programmer Reference
Manual for additional information.
lusername is a user name on the local HP 3000, as established
by an account manager, that allows you to log on
under this account. This name is unique within the
account. It contains from 1 to 8 alphanumeric
characters, beginning with a letter. An at-sign
(@) can be used to indicate the logon user name.
(Required parameter.)
lacctname is the name of your account on the local HP 3000 as
established by a system manager. It contains 1 to
8 alphanumeric characters, beginning with a letter.
An at-sign (@) can be used to indicate the logon
account. (Required parameter.)
lgroupname is the name of a file group to be used for the
local file domain as established by an account
manager. It contains from 1 to 8 alphanumeric
characters, beginning with a letter. An at-sign
(@) can be used to indicate the logon group.
(Optional parameter.)
rusername is a user name on the remote HP 3000 that allows
you to log on under the remote account. It follows
the same rules as username. An at-sign (@) can be
used to indicate rusername as with lususername.
(Required parameter.)
rupasw is the password assigned to username. (Optional
parameter.)
racctname is the name of the logon account on the remote HP
3000. It follows the same rules as lacctname. An
at-sign (@) can be used to indicate racctname is
the same as lacctname. (Required parameter.)
rapasw is the password assigned to racctname. (Optional
parameter.)
rgroupname is the name of the logon group on the remote HP
3000. It follows the same rules as lgroupname. An
at-sign (@) can be used to indicate rgroupname is
the same as lgroupname. (Optional parameter.)
rgpasw is the password assigned to rgroupname. (Optional
parameter.)
Discussion
The following syntax rules apply:
* No spaces are allowed around any periods that could exist in the
second file reference in record 1 (for example, dbname2.group).
* Passwords are not allowed with the local user, account, and group
names. They are not necessary because the local user passes the
security password checks when logging onto the local system.
NOTE Remote logon parameters must define a valid logon known to the
remote machine. For example, if a particular user name requires a
password on the remote machine, the password parameter is required
in the database-access file and must be supplied in the HELLO
command.
After you have created the file with an editor, you must KEEP it
UNNumbered. The file name must follow the same rules as a database name.
It must be an alphanumeric string from 1 to 6 characters; the first
character must be alphabetic.
Records 3 through n define a table that tells TurboIMAGE/XL which user,
account, and group names on the local computer can access which user,
account, and group names on the remote computer. You can specify remote
user identification for more than one local user by creating a record for
each local "user.account,group" using the record 3 format shown earlier.
An at-sign (@) can be substituted for any user, account, or group name in
the record. If an at-sign is substituted for lusername, lacctname, or
lgroupname, the name is replaced with the corresponding name specified at
logon time.
TurboIMAGE/XL searches for a match between the local user, account and
group names in the user table and the names used to log on to the local
session. When a match has been found, TurboIMAGE/XL performs a REMOTE
HELLO using the corresponding rusername, racctname, rgroupname, and
passwords, if present. If an at-sign is found, it is replaced with the
corresponding name to the left of =HELLO. For example, if the record
contains USERA.ACCTA,GROUPA=HELLO@.ACCTB,@, TurboIMAGE/XL replaces the
first at-sign with USERA and the second with GROUPA. If an at-sign is not
found, no substitutions are made. In either case, the information to the
right of =HELLO is used as the remote logon identification.
Example
Record 1 FILE ORDERS=ORDERS:NODEX
Record 2 DSLINE NODEX
Record 3 USERA.ACCTA,GROUPA=HELLO USERB.ACCTA,GROUPB
Record 4 @.ACCTA,GROUPA=HELLO USERA.ACCTA,GROUPA
Record 5 USERB.ACCTB,@=HELLO USERB.ACCTX,@
End of file
If a user logs on with the logon identification indicated in the first
column below, TurboIMAGE/XL uses the corresponding USER.ACCT,GROUP
identification in the second column to establish communication with the
remote system.
Logon Identification Remote Identification
User1 USERA.ACCTA,GROUPA USERB.ACCTA,GROUPB
User2 USERB.ACCTA,GROUPA USERA.ACCTA,GROUPA
User3 USERB.ACCTB,GROUPB USERB.ACCTX,GROUPB
User4 USERA.ACCTB,GROUPB None, no match found.
The first user's logon identification matches the local user, account,
and group names specified in record 3, so the remote names specified in
that record are used.
The second user's account matches record 3 but the user name does not, so
TurboIMAGE/XL looks for another table entry with account ACCTA. Because
the entry in record 4 specifies any user (@) of ACCTA if their group is
GROUPA, the second user's remote identification will be that specified in
record 4.
The third user logs on to ACCTB and a match is found in record 5 because
it specifies the same user name and accepts any group in the account.
The fourth user's account matches record 5 but the user name does not
match. Therefore, the fourth user cannot access the remote database with
this application program.
Activating a Database-Access File.
After you have constructed a database-access file, you must use the
DBUTIL utility program to activate the file. The complete syntax for
running the utility program is given in chapter 8. Here is a summary of
the operating instructions:
:RUN DBUTIL.PUB.SYS
:
>>ACTIVATE database-access file name
Verification follows:
FILE command: <result>
DSLINE command: <result>
HELLO command: <result>
ACTIVATED
>>EXIT
DBUTIL verifies that the file to be activated adheres to the following
criteria:
* Has a file code of zero.
* Is an unnumbered, ASCII file.
* Has a record length <=128 characters.
* Has at least three records.
If any of these conditions is not satisfied, activation fails, and the
following message is printed:
filename is NOT a suitable database-access file
If the file has already been activated, the following message is printed:
filename is already ACTIVE
If all of the above are satisfied, DBUTIL prints the following message:
Verification follows:
Then the utility program verifies the syntax of the following records:
* Record 1.
* Record 2 through nodename, which must be identical to the nodename
specified in record 1.
* Records 3 through n, through the parameter rgpasw.
This means that for records 2 through n only the positional parameters
(those whose function is determined by their relative position within the
command) are verified by DBUTIL. The remaining keyword parameters are
checked by the command interpreter at DBOPEN time.
If all of the above conditions are met, DBUTIL successfully activates the
database-access file, by changing the file code to the TurboIMAGE/XL
reserved code -402, which makes it a privileged (PRI V) file.
Deactivating a Database-Access File.
In order to deactivate the database-access file, you use the DEACTIVATE
command of the DBUTIL utility program. Complete syntax for this program
is given in chapter 8. Here is a summary of the operating instructions:
:RUN DBUTIL.PUB.SYS
:
>>DEACTIVATE database-access file name
DEACTIVATED
>>EXIT
You can do this if you want to edit the content of the database-access
file or to prevent access through this file to the remote database.
Referencing the Database.
To reference the database from your local application program, use the
database-access file name instead of the root file name when calling the
TurboIMAGE/XL procedure. The word array specified as the base parameter
must contain a pair of blanks followed by the left-justified
database-access file name and terminated by a semicolon or blank (_).
TurboIMAGE/XL recognizes the -402 file code and establishes a
communications link to the remote HP 3000. If the database is
successfully opened, TurboIMAGE/XL replaces the pair of blanks with the
baseid of the assigned Remote Database Control Block. The base parameter
must remain unchanged for the remainder of the process. When the
application program calls the DBCLOSE procedure or terminates execution,
automatic REMOTE BYE and DSLINE commands are issued to terminate the
session and close the communications line.
Example
The example in Figure 9-5 illustrates how to create and activate a
database-access file. A description follows the example.
In this sample case, the file named ORDDBA is to be used to gain access
to the ORDERS database residing on a remote system in the PAYACCT
account. The remote system is referenced by nodename NODEX.
After the database-access file is created, it is enabled by using the
DBUTIL utility program.
________________________________________________________________________
| |
| 1 |
| |
| :HELLO MEMBER1.PAYACCT |
| : |
| |
|2 |
| |
| :EDITOR |
| |
| HP32201A.00.00 EDIT/3000 FRI, SEP 6, 1991, 3:30 PM |
| (C) HEWLETT-PACKARD CO. 1985 |
| |
|3 |
| |
| /ADD |
| 1 FILE ORDERS=ORDERS:NODEX |
| 2 DSLINE NODEX |
| 3 MEMBER1.PAYACCT=HELLO MEMBER1.PAYACCT |
| 4 MEMBER2.PAYACCT=HELLO @.PAYACCT |
| 5 // |
| |
|4 |
| |
| /KEEP ORDDBA,UNN |
| /END |
| |
|5 |
| |
| :RUN DBUTIL.PUB.SYS |
| >>ACTIVATE ORDDBA |
| Verification follows: |
| FILE command: Looks good |
| DSLINE command: Looks good |
| HELLO command: Looks good |
| HELLO command: Looks good |
| ACTIVATED |
| >>EXIT |
| |
| END OF PROGRAM |
| |
________________________________________________________________________
Figure 9-5. Preparing a Database-Access File
Description
1 Initiate an MPE/iX session by logging on with appropriate user name
and account.
2 Initiate text editor execution.
3 Enter the Editor ADD command in response to the first prompt, then
enter the lines to define the database-access file.
4 Save the work file in a disk file (ORDDBA in the above example).
Remember to keep it unnumbered. Then exit the Editor.
5 Initiate execution of DBUTIL and activate the database-access file
ORDDBA. Verification messages will follow (in session mode). Exit
from DBUTIL.
Example
Figure 9-6 illustrates use of the database-access file through a
program named APPLICAN. A description follows the example.
In this sample case, after logging on to the local system, the user runs
the program named APPLICAN from the local session. The base array in
this program contains __ORDDBA. When a call to DBOPEN is executed,
TurboIMAGE/XL establishes a communication line and remote session. When
the program closes the database, TurboIMAGE/XL closes the line and
terminates the remote session.
________________________________________________________________________
| |
| 1 |
| |
| :HELLO MEMBER2.PAYACCT |
| : |
| |
|2 |
| |
| :RUN APPLICAN |
| |
|3 |
| |
| HP3000 / MPE/iX G.00.00 FRI SEP 6, 1991, 3:55 PM |
| ENVIRONMENT 1: ELECTRA.DOC.ITG |
| |
|4 |
| |
| WELCOME TO SYSTEM B. |
| : |
| CPU=2. CONNECT=1. FRI, SEP 6, 1991, 3:59 PM |
| ENVIRONMENT 1: ELECTRA.DOC.ITG CLOSED |
| |
|5 |
| |
| :BYE |
| |
________________________________________________________________________
Figure 9-6. Using a Database-Access File
Description
1 Initiate an MPE/iX session on the local system by logging on with the
appropriate user name and account.
2 Execute the application program APPLICAN. (The program calls DBOPEN
using __ORDDBA as the baseid.)
3 TurboIMAGE/XL establishes a communications line and remote session.
4 When the database is closed, TurboIMAGE/XL closes communications line
and ends remote session.
5 Log off local system.
MPE/iX 5.0 Documentation