Thread: Way to reveal record locks?

Way to reveal record locks?

From
"Fred Parkinson"
Date:
I am using MS Access as a front end to a postgres database running on a Solaris Unix box, using odbc as the
communicationmedium. 

One of the main tools of my Access app is a process that runs at night to process student progress in an online
trainingsystem. 

A couple of nights ago the app started generating the error:
"Runtime error 3046: Could not save; currently locked by another user"
and it is on the app screen when I come in in the morning, locking up the program and keeping it from completing.  I
trapas many errors as I can think of, but this is escaping trap so I don't know where in the code it is happening. 

I am sure that the error is not from an Access user A. because the process runs between 11pm and 1am and 2. because
thereare no .ldb files open, a file type created when a user opens an access application. 

So, is there any way to determine what records are locked, if in fact that is the problem?  (As you know, the error
reportedmay not actually be the underlying problem). 

Most of the program is designed with classes instantiated as objects, and in Access when I take the 'debug' option of
theerror message box, all that happens is the program goes to the first process of the first object, so that is
useless.

If no one has an answer I will probably write a routine that steps through every record of every table and attempts to
lockit to see if I can reproduce the error that way. 

Thanks in advance for any suggestions anyone may offer.

Fred Parkinson


Re: Way to reveal record locks?

From
Andrei Kovalevski
Date:
Hi!

Fred Parkinson wrote:
> I am using MS Access as a front end to a postgres database running on a Solaris Unix box, using odbc as the
communicationmedium. 
>
> One of the main tools of my Access app is a process that runs at night to process student progress in an online
trainingsystem. 
>
> A couple of nights ago the app started generating the error:
> "Runtime error 3046: Could not save; currently locked by another user"
> and it is on the app screen when I come in in the morning, locking up the program and keeping it from completing.  I
trapas many errors as I can think of, but this is escaping trap so I don't know where in the code it is happening. 
>
>
This error was not generated by PostgreSQL or ODBC driver. It belongs to
the Visual Basic runtime processor: http://www.halfile.com/vb.html.
> I am sure that the error is not from an Access user A. because the process runs between 11pm and 1am and 2. because
thereare no .ldb files open, a file type created when a user opens an access application. 
>
How many Access users you have, may be someone accesses your data via
remote desctop or something like that?
> So, is there any way to determine what records are locked, if in fact that is the problem?  (As you know, the error
reportedmay not actually be the underlying problem). 
>
> Most of the program is designed with classes instantiated as objects, and in Access when I take the 'debug' option of
theerror message box, all that happens is the program goes to the first process of the first object, so that is
useless.
>
> If no one has an answer I will probably write a routine that steps through every record of every table and attempts
tolock it to see if I can reproduce the error that way. 
>
>
Do you have Access tables inside your application or only linked
PostgreSQL tables? May be it's not abou t PostgeSQL tables at all... Try
to enable logging for ODBC driver or for the whole ODBC subsystem. It's
possible to do via Administration -> Data Sources (ODBC) -> configure
DSN         or           Tracing
> Thanks in advance for any suggestions anyone may offer.
>
> Fred Parkinson
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq
>
>