Kbase P186709: Why does a user connected in single-user mode and using the Read-only Media (-RO) Client Connection
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  27/04/2011 |
|
Status: Unverified
GOAL:
Why does a user connected in single-user mode and using the Read-only Media (-RO) Client Connection Parameter sees only his/her own record in the _Connect table?
GOAL:
Where is the _Connect table structure built for single-user connections?
GOAL:
Where is the _Connect table structure built for multi-user connections?
FACT(s) (Environment):
All Supported Operating Systems
Progress 9.x
OpenEdge 10.x
OpenEdge Category: Database
OpenEdge Category: Language (4GL/ABL)
FIX:
For single-user connections, the _Connect table structure is built in 'local private memory'. For multi-user connections, the _Connect table structure is built in 'shared memory'. Therefore, users connecting to the database in single-user mode, whether using the Read-only Media (-RO) Client Connection Parameter or not, will have access to the _Connect table structure in the 'local private memory'. Consequently, those users will have access only to their own _Connect table record. For example, users connecting in single-user mode using commands similar to the following:
prowin32.exe sports2000 -1
prowin32.exe sports2000 -RO
will only see their own _Connect-Name when executing the following code:
FOR EACH _Connect WHERE _Connect-Usr <> ?:
MESSAGE _Connect-Name VIEW-AS ALERT-BOX.
END.
Note, that the above single-user -RO connection have access only to his/her own _Connect table record even if the database is running in multi-user mode.
Similarly, users connecting to the database in multi-user mode, whether in -RO mode or not, will have access to the _Connect table structure in the 'shared memory'. Consequently, those users will have access to all the _Connect table records. For example, users connecting in multi-user mode using commands similar to the following:
prowin32.exe sports2000 -H Hostname -N tcp -S 12345
prowin32.exe sports2000 -H Hostname -N tcp -S 12345 -RO
will see the _Connect-Name data of all the currently connected users when executing the following code:
FOR EACH _Connect WHERE _Connect-Usr <> ?:
MESSAGE _Connect-Name VIEW-AS ALERT-BOX.
END.