Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / Multiuser / Networking / September 2003

Tip: Looking for answers? Try searching our database.

Locking File Information

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Dylan Morley - 18 Sep 2003 11:49 GMT
We're just upgrading to Access 2000 under a thin-client
(Citrix) environment.

We have previously been able to determine which users are
locking Access databases by using the Msldbusr.dll from
Microsoft and a customised version of the LDBView.exe
program.

Using the API provided in the DLL, we were able to
retrieve ID's of the machines connected to the database

Declare Function LDBUser_GetUsers Lib "MSLDBUSR.DLL" _
(lpszUserBuffer() As String, ByVal lpszFilename As String,
ByVal nOptions As Long) As Integer

The array returned in lpszUserBuffer listed all machine
IDs, rather than user logins, which under fat client was
no problem. Match the machine name to the user & you know
who is connected.

However, under Citrix, the array simply returns the server
names connected to the database. So, we have multiple
users accessing a database via CITRIX01, but CITRIX01 is
all that is displayed as the locking user.

We are forcing all users to log in via a security
workgroup, so their name is being recorded in the LDB
file, but how are you supposed to retrieve the login name
using the APIs provided in MSLDBUSR.DLL??

I've thought about opening the .LDB for Input, then
parsing the string to extract machine & login names, but
this is problematic & a rather tedious solution when there
are APIs to do this...

Any suggestions to this problem appreciated.

Thanks
Alick [MSFT] - 19 Sep 2003 11:27 GMT
Hi Dylan,

You can use ADO connect to the mdb database file to find out the users
logged in the database, perhaps you can combine this information to achieve
your goal.

HOW TO: Check Who Logged into Database with Jet UserRoster in Access 2000
http://support.microsoft.com/?id=198755

Please feel free reply to the threads if you have any concerns or questions.

Sincerely,

Alick Ye, MCSD
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

--------------------
| Content-Class: urn:content-classes:message
| From: "Dylan Morley" <dylan.morley@hmv.co.uk>
[quoted text clipped - 38 lines]
|
| Thanks
Dylan Morley - 19 Sep 2003 11:51 GMT
Thanks for reply Alick,

Yes I tried this, unfortunately it doesn't work when the
database is corrupted - & this is when we most need to
know when someone is locking the file!

I'm working on a solution right now to combine the
msldbusr.dll with a binary read of the .ldb file. If I
have any joy I'll post back!

Cheers

>-----Original Message-----
>Hi Dylan,
[quoted text clipped - 61 lines]
>
>.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.