Results 1 to 5 of 5
  1. #1
    2 Star Lounger
    Join Date
    Nov 2001
    Location
    London, UK, England
    Posts
    116
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Access Locking Files (Access / Thin Client OS)

    We're in the middle of converting to a thin client (Citrix) environment and one of the things I have noticed is that the .ldb file no longer displays the hardware ID of the user.

    Since the access.exe program is running from the Citrix box I can understand why it is simply displaying the ID of the server but this is a problem since I can no longer tell which users are locking a database.

    Does anyone have any experience with Access in a thin client environment?? Anyone encountered this problem...?

    Thanks

  2. #2
    Super Moderator
    Join Date
    Aug 2001
    Location
    Evergreen, CO, USA
    Posts
    6,624
    Thanks
    3
    Thanked 60 Times in 60 Posts

    Re: Access Locking Files (Access / Thin Client OS)

    Your experience is why we recommend splitting the database into a front-end and a back-end, and giving each client their own copy of the front-end. You still can have issues with the back-end being locked, which is why we usually recommend SQL Server (or at least the MSDE) as the back-end. With integrated security, it uses the NT login ID to identify who is doing what to whom.
    Wendell

  3. #3
    2 Star Lounger
    Join Date
    Nov 2001
    Location
    London, UK, England
    Posts
    116
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Access Locking Files (Access / Thin Client OS)

    Wendell,

    Thanks for the reply. Yes, all our multi-user databases are split into FE / BE, the clients always have a compiled MDE distributed to their local network area.

    We use SQL Server for our key systems, but for databases with only a few users (less than 10!) we find the Access solution is efficient enough.

    However, there are times when I need to know which users are connected to the back-end of a database. I have a database locking program that reads Access LDB files and returns the hardware ID's that are held in there, and historically this worked fine. Since each user held a copy of access.exe on their hard-drive when they connect to a database BE their personal hardware ID would be logged & I could translate this into a user name.

    However, in the thin client environment, there is no hard-drive. Each user connected to the Citrix server is running a shared Access executable. Therefore the hardware ID logged in the LDB file is simply the server ID, you may have 5 users connected to a database but it simply says 1 user - 'SERVERNAME'.

    Even though hardware ID is the same, the User Name is still unique. If I could change a settubg so that Access logs user names instead of Hardware ID's it would be ideal (though never going to happen, I'm sure!)...

    Thanks

  4. #4
    New Lounger
    Join Date
    Apr 2003
    Location
    Sacramento, California, USA
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Access Locking Files (Access / Thin Client OS)

    I use a log table to track activity on our 2,500 user Citrix system. By trapping environment variables you can get the machine name, username, Citrix server and other things. To see what's available go to the command prompt and type 'SET'. Of course is you're using a custom MDW file(workgroup) then your users should be logging in, that's a good time to record the info to a log table also. Here's some code I user to read the 'SET' environment variables.
    Here's a sample call that get's and posts the data:
    --
    ProcessLog (gsUser & " logging on to ECS, Mode:" & _
    sAppMode() & ", using PC:" & GetEnVar("ClientName") & _
    " Network ID:" & GetEnVar("UserName"))

    Here's the code to extract the variables
    -
    Function GetEnVar(Optional sEnVar As String) As Variant
    ' ? GetEnVar("Computername") = 'DHACX-19'
    ' ? GetEnVar("Clientname") = 'D343417-L13K4'
    ' ? GetEnVar("username") = 'hamiltont'
    ' ? GetEnVar("OS") = 'Windows_NT'
    ' ? GetEnVar() returns all Environment variables in the Immediate Window
    Dim sEnv As String
    Dim Indx As Integer, ilen As Integer, iLoc As Integer, iSrch As Integer

    iSrch = Len(sEnVar) + 1
    Indx = 1
    Do
    sEnv = Environ(Indx)
    ilen = Len(sEnv)
    iLoc = InStr(1, sEnv, sEnVar)
    ' Debug.Print Indx, sEnv
    If Len(sEnVar) > 0 Then
    If Left(sEnv, Len(sEnVar)) = sEnVar Then GetEnVar = Right(sEnv, ilen - iSrch)
    End If
    Indx = Indx + 1
    If iSrch = 0 Then Debug.Print sEnv
    Loop Until sEnv = ""
    End Function

    I hope this is useful to you

  5. #5
    2 Star Lounger
    Join Date
    Nov 2001
    Location
    London, UK, England
    Posts
    116
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Access Locking Files (Access / Thin Client OS)

    Tom - seems to be just what I'm after, I'll be trying this out...

    Many Thanks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •