|
|
|
The UniAccess Knowledge Base contains solutions to
common errors encountered using
UniAccess in the OS 2200
environment. Click on a topic below
or scroll through the discussion of
problems and solutions that follows.
Post Installation
Issues
The following are solutions to commonly
reported errors after the installation
of UniAccess:
- Problem (UniAccess #600):
- After UniAccess has been installed, starting UACS results
in the following message: "TSAM Error CM_TCPATTACH failed for
PID 0 730612010000."
- Solution:
- Ensure that you have the UACS TSAM process configured in
the CMS configuration file.
back to top
- Problem (UniAccess #232):
- UACS background run
causes a COMMON BANK ERROR 9. The BDI that it is 0402756.
- Solution:
-
The BDI 0402756 belongs to TIPUTIL.
TIPUTIL must be installed in mode UCS to
create the common banks.
back to top
- Problem:
-
Corrupted data is being delivered to
UniAccess due to CPComm 4R1 not verifying
the checksum on IP, TCP and UDP input
packets.
- Solution:
- Review this document to see if your site needs to apply this Unisys PLE.
back to top
Configuration Issues
The following are
solutions to commonly reported errors in
configuring UniAccess.
- Problem (UniAccess #1688):
-
After installing UniAccess 10R2-0, UACF returns the following message:
"Invalid product key
[UACLPRODKEY]. [26] *ERROR*
UACF processing failed"
even though the product keys
are correct.
- Solution:
- Review this document, UniAccess updates are required with the EXEC in CP IX 9.2 (47R4B), CP IX 10.1 (47R5B), or later due to ER-CONFIG$ changes.
to see if your site needs to
upgrade to the latest UniAccess level.
back to top
- Problem:
-
UniAccess 9R2 and Greater Product Key Compatibility Issues With ClearPath
Systems Running EXEC 46R4, 46R5, or 46R6.
- Solution:
- Review this document to see if your site needs to apply this
TCF.
back to top
- Problem:
- After the Configuration File has been
updated, the change does not take effect.
- Solution:
- Make sure you have processed the UniAccess Configuration
File with the proper options. Refer to the UniAccess for
OS 2200 System Administration Guide
for the correct procedures to
initially execute and reconfigure the UACF processor. To
verify that the changes have taken effect, use the ‘D’
option on the UACF processor to dump the contents of the
UniAccess Configuration File. To verify that the changes to
the COMSRV statement have been processed, use the 'B' option
on the UACF processor to dump the contents of the UniAccess
Configuration File. (Changes to the COMSRV statement require
that the appropriate communications server be stopped and
re-started.)
back to top
- Problem (UniAccess #227):
- After updating the UniAccess Configuration
File, UARS (or any RPC) returns: UniAccess
error #33800: "UACS error: Transaction UARS schedule failed
(cmstor failed 400000000034)."
- Solution:
- Verify that the UniAccess Configuration File
includes valid PIDs within the correct MCB. Note that these
PID numbers cannot be in use by MAPPER or CMS.
back to top
- Problem (UniAccess #226):
- The trace file displays the following
message: “TIP$SM call [%s] failed
[%o] affecting User = [%s], pid = [%d].”
- Solution:
- This error message is documented in the Unisys
Transaction Processing (TIP)
Administration & Operations Reference. The message may
indicate invalid APPINF APPNAME or OSPARM SESSCTRL
settings. Verify that these settings are correct in the
UniAccess Configuration File.
back to top
- Problem (UniAccess #316):
- After UACS has been executed, UARS
(or any RPC) returns the following message:
"[14] Basic Mode
CMS call error [cmstor] [400000001006]."
- Solution:
- Verify that the OSPARM SESSCTRL parameter is valid in the
UniAccess Configuration File. YES indicates that TIP
session control is configured. NO indicates that TIP
session control is not configured. Defaults to NO.
back to top
- Problem (UniAccess #309):
- After UACS has been executed, it
returns the following message: "UACS*PID ASSIGN/RELEASE
ERROR [42] [12]".
- Solution:
- UACS Console Message #12 (documented in the
UniAccess for OS 2200 System Administration Guide)
directs the reader to the Unisys
Transaction Processing (TIP)
Administration & Operations Reference for information
on error 42. Section 25 of that manual describes error 42
as: "A CMS program has attempted to assign this range of
PIDs while it is assigned to some other CMS program."
Verify that the PID range configured for UniAccess does not conflict with
the CMS and MAPPER PIDs.
back to top
- Problem (UniAccess #1592):
-
The following error was encountered after
increasing PIDCNT: [18] *ERROR" - TIP$SM call [Open Request] failed [7].
- Solution:
- UniAccess 10R1-3, 10R2-1, 10R3-0, and up have been modified to
correctly calculate the number of access
control words (ACWs) that are required on
the RT$PID request to reserve the PIDs.
back to top
- Problem (UniAccess #1953):
- A new COMSRV parameter has been added that allows a
site to switch the UACS unique-ID feature on (YES) or off
(NO). The default is YES. The format for the new parameter
is:
- COMSRV [AUXUNIQID, {YES | NO}; ]
-
- This UACS unique-ID is a 3 word field and is
consistent during the UACS execution. UACS writes its
unique-ID in the first 3 words of the UPA each time it
schedules a transaction. The scheduled transaction uses the
received UACS unique-ID as an input validation parameter
when it receives its input data from the UAFG. Sites
deploying middleware to manipulate the UPA should probably
switch the feature to NO to prevent possible UPA conflict.
- Solution:
- This is a new, undocumented, configuration option in
UniAccess 10R2-3 and 10R3-1.
back to top
Running UACS
The following are solutions
to commonly reported errors in running UACS
(the UniAccess Communication Server).
- Problem (UniAccess #209):
- When UACS is executed, a Basic Mode CMS
Call Error [CMINIT] with a status of 4000000000001 is
received.
- Solution:
- Verify that MCB is active in the appropriate
application group.
back to top
- Problem (UniAccess #712):
- ST UACS results in:
No product
service permissions exist in product key [92] ERROR
- Solution:
- Verify that the correct value was entered for the product
key parameter(s) of the OSPARM statement. Deactivate and
reactivate the UniAccess Fixed-gate. If this does not
resolve the problem, please contact UniAccess Support:
Email or phone UniAccess support. Note that UniAccess
product keys for levels prior to 9R1 are not valid with 9R1
or later.
back to top
- Problem:
- ST UACS results in: Invalid product key. [94] *ERROR*
- Solution:
- UniAccess levels 9R1 and above require a new
product key. Update the OSPARM product key parameter(s) in
the UniAccess Configuration File with the new product key(s)
and deactivate and reactivate the UniAccess Fixed-gate.
back to top
- Problem (UniAccess #1331):
- When UACS encounters a trace file cycle conflict it leaves
the test-and-set lock on the UniAccess Trace File and eventually this causes
all UACS activities to queue.
- Solution:
- This is resolved in UniAccess 10R1-1, 10R2-0, 10R3-0 and up.
back to top
- Problem (UniAccess #1380):
- Occasionally UACS receives QItems for CSPROCs which are not
in use or are not linked to the originating MMPROC. This may lead to
bad CSPROCs.
- Solution:
- This is resolved in UniAccess 10R1-1, 10R2-0, 10R3-0 and up.
back to top
- Problem (UniAccess #1214):
- UACS can hang and the CSPROC D-bank corrupted when an MCB
output message has a total length greater than 512 characters.
- Solution:
- This is resolved in UniAccess 10R1-0, 10R2-0, 10R3-0 and up.
back to top
- Problem (UniAccess #1199):
- In a TIP session control environment and/or if a LOGOFF
transaction is used, the UACS trace file can receive many [85],
[48], and [38] errors.
- Solution:
- This is resolved in UniAccess 10R1-2, 10R2-0, 10R3-0 and up.
back to top
- Problem (UniAccess #1365):
- The CSPROC free chain introduced in
9R2 is getting corrupted such that freed
PIDs become orphans until UACS declines new
connections because the Free Chain indicates
no CSPROCs are available, when in reality
they are.
- Solution:
- This is resolved in UniAccess 10R1-2,
10R2-0, 10R3-0 , and up.
back to top
- Problem (UniAccess #1595):
- The run condition word contains 075 in
T3 following UACS execution and normal
termination.
- Solution:
- UniAccess
10R1-3, 10R2-1, 10R3-0, and up have been
modified to not change the run
condition word. The run condition word at
program termination will contain the same
value of the run condition word at UACS
initiation.
back to top
Transaction Client Issues
The following are solutions to commonly reported errors in the
UniAccess Transaction Client environment.
- Problem:
- UniAccess Transaction Client-Library
(UACL) program receives "Receive request failed - library
error 31" on a ct_results function call. The identical
select statement works using ISQL against SQL Server.
- Solution:
- UAMM Error 31 is the result of a Network
error. You should check the UACS trace file for error
information. If the UACS trace file indicates a network read
time-out error, try increasing the NWRTIMOUT and NWWTIMOUT
parameter values. This is particularly an issue if very
large or extremely complex requests are being issued.
back to top
- Problem:
- When a ISQL logon is issued, the
following message is received: "ct_connect(); network packet
layer: internal net library error: Specified CT-Library call
to ct_connect failed."
- Solution:
- When a user executes ISQL, if the userid
check is not bypassed, the userid and server information are
immediately validated with the UAUSER and SERVER entries in
the UniAccess Configuration File. If either the specified
UAUSER or SERVER entries do not exist in the Configuration
File, this message will be generated.
back to top
- Problem:
- After logging in using @ISQL, the
following message is displayed: "CT_CONNECT() network packet
layer: internal net library error: specified server name
attribute could not be found."
- Solution:
- Verify that the UniAccess Transaction Server
environment has been successfully configured in the
UniAccess Configuration File. The SERVER configuration
statement defines the server to which a client application
will connect. This name is case sensitive and must match the
server name specified on the @ISQL call as well as in the
interfaces file. (Refer to the
UniAccess for OS 2200 System
Administration Guide for a description of the SERVER
configuration statement.)
back to top
- Problem (UniAccess #1549):
- @ISQL is hanging when issuing an 'X' to cancel results
following a select statement in @ISQL against MS SQL Server
2000 sp3a. Note: the 'C' command to continue displaying
results works.
- Solution:
- This is resolved in UniAccess 10R1-3, 10R2-1, 10R3-0 and
up.
back to top
- Problem (UniAccess #1589):
- @ISQL now accepts an 'X' option to abnormally
terminate @ISQL on first error.
- Solution:
- This is resolved in UniAccess 10R1-3, 10R2-1, 10R3-0 and up.
back to top
UniAccess Server Issues
The following are solutions to commonly reported errors in a
UniAccess Server Environment. UniAccess
servers include the UniAccess Transaction
Server, the UniAccess ODBC Server for RDMS
2200, and the UniAccess ODBC Server for DMS
2200. This section first lists solutions to
reported errors common to all three
environments. Then solutions to reported
errors in specific UniAccess server
environments are listed.
- Problem:
- UniAccess Server-Library transactions may appear to stall
until the TDWAITTIME specified in the TDFHEIBLK expires. The
apparent stall of the UniAccess Server-Library transaction
may cause the client application to indicate that the server
has timed out.
This has been determined to be caused by modifications to memory handling
introduced by the EXEC change 00006-61620-PCR.
- Solution:
- The suggested resolution is dependent upon the hardware
platform.
- M Series Systems(2200/300, 2200/500, 2200/700, 2200/900,
2200/3800)
The resolution for the apparent transaction stall is to
change the VALTAB to indicate that the transaction should run in
"TIP-memory-compatible mode". This is specified by
the O option in the VALTAB indicator field.
For additional information please see the OS 2200 Transaction
Processing Administration and Operations Reference Manual that corresponds
to the System Base installed on your system.
The resolution for C Series Systems, described below,
will also work on M Series systems.
For better performance, the VALTAB program type for UARS should be reentrant PRG,3), and the FLAGBOX bit
for STICKING should be set (FB ON STICKING). Additional
performance gains can be made by making the
transaction a resident transaction. Resident
online programs (RTPS feature) are loaded either
via TP keyin or RPINIT utility request.
- C Series Systems (1100/90, 2200/400,
2200/600, 2200/600ES)
If TIP memory is being used on the system, the VALTAB should be
updated to indicate that the transaction should run in
TIP memory. This is specified by the O option in
the VALTAB indicator field.
If TIP memory is not being used on the system, the value of the
WAITTIME parameter on the RELSRV configuration
statement should be set to 0 (zero). UniAccess
Server-Library transactions should set the TDWAITTIME to
0 (zero).
For better performance, the VALTAB program type for UARS should be reentrant (PRG,3), and the FLAGBOX bit
for STICKING should be set (FB ON STICKING). Additional
performance gains can be made by making the
transaction a resident transaction. Resident
online programs (RTPS feature) are loaded either
via TP keyin or RPINIT utility request.
back to top
- Problem:
- RPCs receive an error when an update is attempted. The
UACS trace file indicates the following: "[14] Basic
mode CMS call error [cmstor][400000072006]".
- Solution:
- This error indicates invalid message/program options.
Check the VALTAB settings for the RPCs, particularly
the REC option. If recovery is not
configured in the EXEC, make
sure this option has the
value of NONE.
back to top
- Problem:
- RPCs receive an error when an update is attempted. The
UACS trace file indicates the following: "[14] Basic
mode CMS call error [cmstor][400000072006]".
- Solution:
- This error indicates invalid message/program options.
Check the VALTAB settings for the RPCs, particularly
the REC option. If recovery is not
configured in the EXEC, make
sure this option has the
value of NONE.
back to top
- Problem:
- The UniAccess Trace File occasionally displays a TSAM
error 030612000004: “Error Indication Received From TCP.”
- Solution:
- This indicates that, although everything is set up
properly, CMS could not get a message to the destination. The problem
could be with a router or getting to a router. Run a
sniffer on the line and determine where the errors
are.
back to top
- Problem:
- The following error appears in the UniAccess Trace File:
“Failed in function [mmopen] in UAMM, pid [pid #], other
info [7] in trace file”.
- Solution:
- This error indicates that a PID is not able to initiate with UAMM
(i.e., mmopen). Any attempt to open a PID will result in
a UAMM error 7, which is unable to allocate a MMPROC.
There are two situations that can cause a UAMM process (mmproc) to hang:
- If UniAccess aborts the connection and does not receive an abort confirm
[see the Unisys OS 2200 Communications Management System (CMS 1100)
Programming Reference Manual], the PID and mmproc will
remain busy. Some cases in which UniAccess will attempt to abort the connection are
when a PID is terminated with the operator keyin (UACS TERM PID,<pid>)are
when UACS is terminated with active PIDs, and when a connection timeout (COMSRV
CONTIMOUT parameter) occurs.
- If a transaction errors without the UniAccess contingency
routine getting control, the mmproc will remain busy. (For example, a transaction
may error prior to connecting to the UniAccess Fixed-gate subsystem--UAFG.) If
this situation occurs, a print file should be created for the erring transaction.
Since the UAMM process slots are maintained in UAFG, they
are not released when UACS is terminated. Therefore,
hung mmprocs can collect over time. The only way to
release the hung mmproc is by deactivating the UniAccess Fixed-gate
subsystem and reloading it. (See the UniAccess System
Administration Guide for information on activating,
deactivating, and reinitializing UAFG.) Note
that the number of UAMM process slots is defined by
the PROCCNT parameter of the UAMM configuration statement.
back to top
- Problem:
- A UACS TERM PID, <pid> not only does not
terminate the PID, but it places the PID in an ERROR state.
- Solution:
- The following scenarios can lead to a PID being placed into an ERROR
state that will not be automatically resolved:
- UACS successfully schedules the transaction, but the
transaction does not execute.
- UACS successfully schedules the transaction, but the
transaction error terminates prior to performing the
TDINIT call. When the transaction errors prior to
performing the TDINIT call, the UniAccess Fixed-gate
subsystem has not been registered for contingency
notification and, therefore, must assume that the
transaction is still active.
Execute the TERM PID,<pid>
command a second time. The first TERM PID command may only mark
the PID in ERROR; a second TERM PID command removes the ERROR.
back to top
- Problem:
- There are a number of situations that may result in hung
PIDs. The hung PID may initially be identified as a
problem connecting additional client applications or as the
result of a UACS STATUS keyin. The most common of these situations are:
- UACS TERM PID,<pid> does not terminate the PID,
but it places the PID in an ERROR state.
- UACS successfully schedules a UASL transaction, but the
transaction does not execute.
- UACS successfully schedules a UASL transaction, but the
transaction error terminates prior to performing the TDINIT call.
- The client application terminates without notifying
the server.
- Solution:
- Both the client and server side of a UniAccess transaction must
be closed to release a PID. There are a number of configuration parameters
that can detect a potential hung PID and automatically resolve the problem. These
parameters are:
- CONTIMOUT on the COMSRV statement
- KEEPALIVE on the COMSRV statement
- NWRTIMOUT on the COMSRV statement
- NWWTIMOUT on the COMSRV statement.
When it becomes necessary to terminate a PID using the UACS TERM PID,<pid>
keyin, always follow with a UACS STATUS PID,<pid>
keyin to ensure that the connection was properly closed. If the PID has not
closed, a second UACS TERM PID,<pid> keyin is
required. The UniAccess Trace File, with traces on HIGH, will provide
information that is useful in determining the cause of hung PIDs.
back to top
- Problem (UniAccess #1590):
- UASLSTUB has been modified to write MCB status error codes to
the system log.
- Solution:
- This is resolved in UniAccess 10R1-3, 10R2-1, 10R3-0 and up.
back to top
- Problem (UniAccess #1378):
- A multiple-inital ACOB UASL transaction whose MCB time
has expired has the contents of the MCB return code destroyed.
- Solution:
- This is resolved in UniAccess 10R1-2, 10R2-0, 10R3-0 and up.
back to top
- Problem (UniAccess #1413):
- If a transaction contingency occurs while a test-and-set lock
is locked, any subsequent request for this lock will be queued.
- Solution:
- This is resolved in UniAccess 10R1-2, 10R2-0, 10R3-0 and up.
back to top
- Problem (UniAccess #1229):
- UASL ACOB transactions do not permit the ability for the UASLSTUB and the parameters to be in an RSEG.
- Solution:
- This is resolved in UniAccess 10R1-1, 10R2-0, 10R3-0 and up.
(This functionality was broken between UniAccess 8R1-0 and 8R2-0.)
back to top
- Problem (UniAccess #1651):
- UASL transactions communicating with Microsoft SQL Server
issuing SQL Statements receive TDS protocol errors (although the SQL statements are processed)
.
- Solution:
- This is resolved in UniAccess 10R1-3, 10R2-1, 10R3-0 and up.
back to top
UniAccess ODBC Server for RDMS 2200 Issues
The following are solutions to commonly reported UniAccess
errors specific to the UniAccess ODBC Server for RDMS 2200 environment. See the
proceeding section UniAccess Server Issues for other reported errors.
- Problem:
- ODBC UARS Transactions consume a lot of
CPU time.
- Solution:
- Review this document to see if your site needs to apply this Unisys PLE.
back to top
- Problem:
- UniAccess Relational Service
Transaction (UARS) Does Not Receive RDMS Table Information when used with
RDMS 12R2, 13R1, 13R1A, or 14R1.
- Solution:
- Review this document to see if your site needs to apply this Unisys PLE.
back to top
- Problem:
- The UARS transaction may appear to stall until the RELSRV WAITTIME expires.
The apparent stall of the UARS transaction may cause the client application
to indicate that the server has timed out.
This has been determined to be caused by modifications to memory handling
introduced by the EXEC change 00006-61620-PCR.
- Solution:
- The suggested resolution is dependent upon the hardware platform.
- M Series Systems(2200/300, 2200/500, 2200/700, 2200/900, 2200/3800)
The resolution for the apparent transaction stall is to change the VALTAB to
indicate that the transaction should run in "TIP-memory-compatible
mode". This is specified by the O option in the VALTAB indicator field.
For additional information please see the OS 2200 Transaction Processing
Administration and Operations Reference Manual that corresponds to the
System Base installed on your system.
The resolution for C Series Systems, described below, will also work on M Series
systems.
For better performance, the VALTAB program type for UARS should be reentrant
(PRG,3), and the FLAGBOX bit for STICKING should be set (FB ON STICKING). Additional
performance gains can be made by making the transaction a resident transactions. Resident
online programs (RTPS feature) are loaded either via TP keyin or RPINIT utility request.
- C Series Systems (1100/90, 2200/400, 2200/600, 2200/600ES)
If TIP memory is being used on the system, the VALTAB should be
updated to indicate that the transaction should run in
TIP memory. This is specified by the O option in the VALTAB indicator field.
If TIP memory is not being used on the system, the value of the
WAITTIME parameter on the RELSRV configuration statement should be set to 0
(zero). UniAccess Server-Library transactions should set the TDWAITTIME to
0 (zero).
For better performance, the VALTAB program type for UARS should be reentrant (PRG,3), and the FLAGBOX bit
for STICKING should be set (FB ON STICKING). Additional
performance gains can be made by making the transaction a resident
transaction. Resident online programs (RTPS feature) are loaded either
via TP keyin or RPINIT utility request.
back to top
- Problem:
- UARS transaction receives an out-of-memory error (RDM error 50000).
The VALTAB O indicator option causes the UARS transaction to run in
TIP-compatible-memory. The EXEC prevents the attempts to
expand or contract application level backs for transactions in
"TIP memory".
- Solution:
- Any of the following will resolve the problem.
- Apply the changes associated with EXEC PLE 17074075.
- Move to EXEC level 45R2A, or later. EXEC level 45R2A is
supplied with SB7.1 and HMP-IX3.1.
- Remove the O indicator option from the UARS VALTAB and
set the RELSRV WAITTIME to zero (0).
back to top
- Problem:
- When tables are dropped that were created using the implicit storage area feature of RDMS 2200, the
underlying storage area that is automatically created by the create table command is not dropped. This creates a problem
if an attempt is made to recreate the table.
- Solution:
- The storage area must be manually deleted before
attempting to recreate the table. Implicit storage area creation
can be overridden by specifying a Storage Area when a
UniAccess data source is configured. This storage area must be
created by the OS 2200 system administrator before any table
creation commands can be issued. All tables that are created
using the UniAccess data source will be placed in the storage
area specified in the Storage Area field. See the Unisys
Relational Data Management System (RDMS 2200) Administration
Guide, section 2.3.2: Creating a Table with an Implicit
Storage Area for more details.
back to top
- Problem:
- UARS receives the following message:
"APP x DCS EX 20120 This run is not configured in UDS to pass a
caller certified user-id. The BEGIN THREAD command is ignored.
This error will occur when TIP session control is not active and MASTER-RUN-USERID is
not=@@@@@@@@@@@@
- Solution:
- Use @DD to update the UREP Configuration MASTER-RUN-USERID attribute in APP x to
'@@@@@@@@@@@@'.
back to top
- Problem:
- Table or column information is not being returned
to the ODBC client.
- Solution:
- When UREP is installed, it defaults to partial options
set for RDMS. If this is the case, table and column names will
not be maintained. The runstream SYS$LIB$*UAUTIL(T).UNIACCESS/CREATE,
when added, changes this to RDMS-LEVEL COMPLETE, capturing all
future table and column names to the repository. However, any
tables created prior to adding this runstream are not
automatically updated in the repository. Note: If there are
foreign key relationships between tables, you must ATTACH the
parent table first. To update the repository with the complete
table information, perform the following:
@DD,E,appname
PROCESS TABLE tablename FOR
SCHEMA schemaname ATTACH
back to top
UniAccess ODBC Server for DMS 2200 Issues
The following are solutions
to commonly reported UniAccess server errors specific to the
UniAccess ODBC Server for DMS 2200 environment. See the
preceding section UniAccess Server Issues for other
reported errors.
- Problem:
- Attempts to access DMS data result in an error message "UA service DMS error (23 - DMS DML error [%s])."
The error text [%s] indicates that a DML error 008, 105, 107,
108, 117, 118, 119, 122, 137, or 140 occurred.
- Solution:
- The most likely cause of these errors is that the DMS schema has been modified without reprocessing the trivial subschema
via SDDL and the schema via SCHEMADEF, and without recreating the tables via TABLEDEF.
back to top
UADriver Troubleshooting
The very first step in resolving a UADriver related problem is to use the
"Test" tab on the UADriver setup. This feature can be accessed via
the ODBC Data Source Administrator by selecting the UniAccess DSN in
question.
- Problem:
- Attempts to use UADriver result in "system error 5".
- Solution:
- This is due to permissions problem in the \dll directory in pre-2.10.0004 and
2.11.0001 versions of UADriver. The workaround is to grant appropriate permissions in this folder or to install the latest 10R1
or greater UniAccess ODBC Driver.
back to top
- Problem:
- ASP page returns an "unable to connect to data source" error.
- Solution:
- The UADriver creates a temporary file in the default temp directory. As a result, the user needs write
privileges to this directory. The location of the temp directory can be different depending on whether the DSN is a system or user DSN.
For file DSNs, the user needs to be granted write privileges to the directory that contains the file DSN.
back to top
- Problem:
- UADriver settings not saved after a test is performed.
- Solution:
- The workaround is to save the DSN prior to performing the test. This is corrected beginning with the 9R2
release of the driver (2.09.0001).
back to top
- Problem:
- A CTlib client cannot access Sybase SQL Server after
accessing UniAccess. The error generated is:
SQLState - 08001
[INTERSOLVE][ODBC SQL Server driver][SQL Server]ct_connect();
directory service layer; internal directory control layer error;
Requested server name not found.
- Solution:
- Beginning with the 9R1 version of the driver (2.08.000x), set the option 'Load Open Client Interfaces
File' under the Advanced Tab option of the UADriver setup.
back to top
- Problem:
- The UADriver traces do not get captured when tracing is activated.
- Solution:
- Verify that the user has change privileges to the directory where the trace is being
captured.
back to top
The very first step in resolving a UADTC related
problem is to use the "Transaction Coordinator Connectivity Test"
feature. This feature can be accessed via the ODBC Data Source
Administrator by selecting the UniAccess DSN in question.
- Problem:
-
After installing MMC 3.0 (KB907265) on Windows XP or Windows Server 2003, MMC can abort if
the UADTC service is not running.
- Solution::
- Review this document if your site uses distributed transactions.
back to top
- Problem:
-
After installing Microsoft Security Bulletin MS05-051 (Knowledge Base article 902400) to Windows 2000, Windows XP, or Windows Server 2003, attempts to execute a distributed transaction using UADTC fail.
- Solution:
- Review this document if your site uses distributed transactions.
back to top
- Problem:
-
Windows Server 2003 SP1 Disables MS DTC Network.
- Solution:
- Review this document for steps on how to enable MS DTC network access.
back to top
- Problem:
- Windows XP and Windows Server 2003 do not support TIP protocol by default.
- Solution:
Windows XP and Windows Server 2003 disable TIP protocol by default. Prior to attempting to use UADTC,
TIP protocol must be enabled.
Steps to enable the TIP protocol are:
- Start, Control Panel, Administrative Tools,
Component Services
- Expand Component Services
- Expand Computers
- Right click on the computer on which you
wish to enable TIP, select Properties, select the MSDTC tab
- Click on Security Configuration
- Check the box "Transaction Internet
Protocol (TIP) Transactions
- Click OK
- Click OK
- Click OK
- Close the Component Services window
back to top
- Problem:
- A pre-10R2 UADTC is not usable when installed on Windows XP Service Pack 2.
- Solution:
- This is due to the fact that the launch permissions for UADTC are not compatible with Windows XP
Service Pack 2. Note: The launch permissions have been changed beginning with UADTC versions 2.10.0004 and 2.11.0001.
Steps to manually update UADTC launch permissions to be compatible
with Windows XP Service Pack 2 are:
- Start, Control Panel, Administrative Tools,
Component Services
- Expand Component Services
- Expand Computers
- Expand on the UADTC computer
- Expand on the DCOM Config
- Right-click on UADTC, select Properties, select
the Security tab
- Check the box "Use Default" under Launch
Permissions
- Click OK
- Stop and Start the UADTC Service (if
already running).
back to top
- Problem:
- UniAccess distributed transactions may cause system hang (EXERR-410).
- Solution:
- Install the changes associated with EXEC PLE 17674544.
back to top
- Problem:
- UADTC service cannot be started
- Solution:
- Check the Event Viewer Application Log
for any UADTC events. This error usually happens when the UADTC
service is unable to bind to a port previously assigned to it by the
operating system. In other words, the port UADTC is trying to bind
to has already been assigned to another application. To correct this
problem, using UADTC snap-in, reset the listen port to zero. This
will cause the UADTC service to request a new port at startup.
Please note that changing the listen port can
potentially cause the previously active transactions to remain
unresolved as MSDTC may try to connect to the previously assigned
UADTC port. If this is a concern, stop the application that has been
assigned the UADTC listen port and restart the service.
If the service is failing to start after the initial install of the service,
reboot your system and attempt to start the service again.
back to top
- Problem:
- Failed to register transaction with MSDTC or UDS
- Solution:
- This error means that the participating UASL transaction was unable to register
itself with MS DTC. This error usually happens if the UADTC service is currently
stopped. Another reason this error may occur is when the UDSBDI
parameter specified in UniAccess Configuration File is incorrect.
back to top
- Problem:
- In a Windows XP or Windows Server 2003 environment, the UADriver Transaction Coordinator
Connectivity Test returns a failure for Microsoft TIP Support
- Solution:
- When Windows XP or Windows Server 2003 is installed, the default setting for the Microsoft DTC TIP support
is disabled. TIP must be enabled on the pc running MS DTC. To enable
TIP, select Component Services from Control Panel,
Administrative Tools, right-click My Computer and select
Properties. Select the MSDTC tab and select the
Security Configuration button. Check the box titled
Transaction Internet Protocol (TIP) Transactions. This
configuration change will require that the MS DTC Service be
stopped and restarted.
back to top
- Problem:
- The Transaction Coordinator Connectivity UADTC Proxy Support test fails in the ODBC
Administrator with the following error:
"Unable to create an instance of the UADTCTIPHelper class. Error code
0x80070005 Description: Access is denied".
- Solution:
- Verify that the UADTC service is started. The UADTC
service must be running in order for the UADTC Proxy Support test
to be successful.
back to top
- Problem (UniAccess #1661):
- ACOB distributed transaction hangs during TDCOMPLETE.
- Solution:
- This is resolved in UniAccess 10R1-4, 10R2-3, 10R3-0 and up.
back to top
- Problem (UniAccess #1693):
- If a distributed UASL transaction has not called TDCOMPLETE,
and a PREPARE is received, the transaction will not receive an
error.
- Solution:
- This is resolved in UniAccess 10R1-4, 10R2-3, 10R3-0 and up.
back to top
- Problem (UniAccess #1372):
- ACOB distributed transaction receives a TDS-INTERNAL-ERROR on
2nd TDACCEPT.
- Solution:
- This is resolved in UniAccess 10R1-2, 10R2-0, 10R3-0 and up.
back to top
- Problem (UniAccess #1211):
- UASL ACOB transaction participating in a distributed
environment can hang.
- Solution:
- This is resolved in UniAccess 10R1-0, 10R2-0, 10R3-0 and up.
back to top
- Problem (UniAccess #1724):
- When a communication error prevents UADTC sending the
TDCOMPLETE command, a transaction which has issued a TDCOMPLETE may
hang if the CONTIMOUT ACOB distributed transaction hangs during TDCOMPLETE.
- Solution:
- This is resolved in UniAccess 10R1-4, 10R2-3, 10R3-0 and up.
back to top
- Problem:
- RDMS tables created by LINC commonly include a column (GLB_DTIME) which
is incorrectly defined to RDMS. The column GLB_DTIME is used by LINC to join
tables and profiles. The column is generally of no value to a client
application.
- Solution:
- Do not retrieve the column GLB_DTIME using UARS. UARS will describe
the column using the RDMS definition, which is incorrect.
Create views of the LINC generated RDMS tables without the column
GLB_DTIME and have the users access the views and
not the underlying table in order to prevent accidental attempts to
retrieve this column. The VIEWS function of the LINC Runtime Utility
will build elements that will create or drop views. For additional
information, please see the Unisys OS 1100 LINC Installation and
Operations Guide.
You can output the column GLB_DTIME from a UASL
transaction by describing the column as a data type that will hold
the 72 bit binary value.
back to top
- Problem:
- Access to RDMS tables created by LINC are very slow if a profile
is not being used.
- Solution:
- Create a view which will join the table and the
profile. The VIEWS function of the LINC Runtime Utility will build
elements that will create or drop views. For additional information,
please see the Unisys OS 1100 LINC Installation and Operations
Guide.
For example, if TABLE1 exists with a single key
GLB_DTIME and the profile TABLE1P exists with an index on
EMPLOYEE_ID, the following view would allow access to data in TABLE1
using the index from TABLE1P.
VIEW EMPLOYEE_INFO (NAME, EMPLOYEE_ID, POSITION) AS SELECT TABLE1.NAME,
TALBE1P.EMPLOYEE_ID, TABLE1.POSITION WHERE TABLE1P.GLB_DTIME=TABLE1.GLB_DTIME
| TABLE1 |
TABLE1P |
| GLB_DTIME |
GLB_DTIME |
| NAME |
EMPLOYEE_ID |
| EMPLOYEE_ID |
|
back to top
- Problem:
- LINC documentation explicitly states in multiple
locations that you must not use other tools to update your OS 1100
LINC II database, as this may lead to corruption of your LINC
system.
The views used to provide efficient access to LINC data
contain two tables. RDMS does not allow views containing more than
one table to be updated.
How can data in RDMS tables created by LINC be updated?
- Solution:
- The correct procedure to update your LINC database is
to write a Server-Library transaction which will initiate your
existing LINC logic. It is possible to write a Server-Library
transaction to directly update the LINC database.
back to top
The following steps will provide diagnostic
information to assist in debugging programs using the UniAccess
System.
- Turn UACS traces on high and review the
contents of the trace file after executing the failed program.
The trace file will contain error, warning, and informational
messages to assist in debugging. Refer to Appendix D of the
UniAccess for OS 2200 System Administration Guide for a list
of all the trace file messages.
- If ODBC calls are being issued, UADriver
tracing provides a method for logging the function calls and
function results between an ODBC application and the UniAccess
ODBC Driver.
- Review the sequence of library calls to
ensure that they are in the proper order. Typically, commands
that are not in the correct sequence will result in a return
code indicating the incorrect state. However, a valid state that
is different from the expected state may return unexpected
results.
- Review the program to ensure that the
return status is checked after every library call. A bad return
code from one library call can result in an error on subsequent
calls.
- Ensure that parameters are properly
aligned. Including the debug version of the appropriate stub
will verify correct alignment UACLSTUBDBG/OBJ, UASLSTUBDBG/OBJ,
or UASLSTUBDBG/REL).
- Identify the statement causing the error
and verify that all of the parameters contain the expected
values prior to the call. DISPLAY or PRINTF statements are
typically used in debugging. PADS can be used interactively to
debug demand programs (UACL) and in postmortem mode (DIAG$ file)
to debug any type of program.
back to top
| |
|