ODBC Server Reference Manual

Architecture Overview
HP NonStop ODBC Server Reference Manual429151-002
2-35
SQL Communication Subsystem
Server Connections
As stated previously, a connection involves a DBLIB or ODBC client initiating a
connection with a NonStop ODBC server. A connection is a significant event in that a
number of things happen involving authentication, NonStop ODBC server selection,
and attribute setting (much of what happens depends on configuration settings).
When connecting, a client application supplies a username, a password, and an
optional database name. With DBLIB, these items are passed to the server in a logon
message. With ODBC, the driver chooses how to connect to a server. For the NonStop
ODBC Server, the HP driver mimics the DBLIB scheme (sends the same logon
message).
ODBC supports a number of options that can be configured for a connection. A driver
could send these options with the logon message, but the HP driver does not do so.
Instead, it lets the connect operation finish, then sends a number of pass-through
statements that set the various connect attribute values.
A client connection is shown in detail in Figures 2-29 through 2-32. This sequence
shows where and how each aspect of the connection process is carried out.
When the client issues a connect request, DBLIB or the NonStop ODBC/MP driver
sends a connect message containing the username, password, and, optionally, a
database name to the configured network address where SCS is listening, as shown in
Figure 2-29.
The task of SCS is to determine from which server class to acquire a NonStop ODBC
server. SCS maintains a private NOSUTIL process for this purpose. SCS extracts the
username from the connect message and passes it to the NOSUTIL process.
NOSUTIL determines the server class name associated with the username and returns
the server class name in a message to SCS.
If the username is not found in the ZNSALT table in the NonStop ODBC Server system
catalog, NOSUTIL attempts to decode the username to a Guardian name (the
username must be of the form group_user, which corresponds to a valid Guardian
name of the form group.user). If the decoding fails, NOSUTIL returns a “login
rejected” error to SCS and to the client. Otherwise, NOSUTIL returns the DEFAULT
server class name to SCS. NOSUTIL does not check if the Guardian name exists—
that is done later.
Figure 2-29. Client Initiation of Connection
Communication
Processes
SCS
Client
Connecting
USERNAME
PASSWORD
(DATABASE)
1 2
VST033.vsd