Issue 32069 — Opening database path for new transaction fails if database name is 3 char long
Status: Planned for resolution in 10.4.01
Solution available in patch(es): 10.3.02.028 9.7.05.041
Summary: When creating a new instance using TRANSACTION=TRUE and the database name (or data source name) in the affected path is exactly 3 characters long then opening a new path to the DBMS will fail with a logon error. Environment: +Uniface: Version 9.7.05.018 (and higher) Version 10.3.02.005 (and higher) +Operating System: * OS independent +Database: * DBMS independent Symptoms: The instance property TRANSACTION indicates whether a transaction group is created for the DBMS I/O associated with this component instance and all instances started from it. When set to TRUE, a transaction group is created for the DBMS I/O associated with this component instance and all instances started from it. For each path referenced by a component instance in this group a new path to the DBMS is opened. In case the database name (or data source name) of an affected path is exactly 3 characters long then opening the path for the new transaction will fail with a logon error. For example: * The following MSS path is defined: $MSS MSS:ms1:dbms1|user|password * When the path is opened for the first time then everything works fine * Now an instance with TRANSACTION=TRUE is created; e.g. newinstance "CMP1", "INST1", "TRANSACTION=TRUE" " When accessing the path $MSS from INST1 then a new path to the database is opened > The open path fails with the error -9 (DBMS logon error). And when using (e.g.) $ioprint=63 the following errors can be seen in the message frame: I/O function: L, mode: 0, on driver: MSS; Path: $MSS; Trans# 1 IM002 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified Logon (|******|******) failed with status -1, Error occurred
Make sure that the database or data source name in the path is not exactly 3 characters long.