Skip to main content

If i run a program that uses DBCONNECT/ACU4GL to access an MS/SQL Data base, and it crashes, When I run the program again i get a 9A error.

This appears to be because the lock table is not updated to remove any locks.

How can i reset the lock table after a crash or should i use another approach?

Thanks in advance for any help


#locking
#VisualCOBOL
#dbconnect
#SQL
#Acu4GL

If i run a program that uses DBCONNECT/ACU4GL to access an MS/SQL Data base, and it crashes, When I run the program again i get a 9A error.

This appears to be because the lock table is not updated to remove any locks.

How can i reset the lock table after a crash or should i use another approach?

Thanks in advance for any help


#locking
#VisualCOBOL
#dbconnect
#SQL
#Acu4GL

Could you let us know which exact product (Visual COBOL for Visual Studio, Visual COBOL for Eclipse, Visual COBOL Development Hub, etc.) and product version you are using, and which Operating System you are running on?


Could you let us know which exact product (Visual COBOL for Visual Studio, Visual COBOL for Eclipse, Visual COBOL Development Hub, etc.) and product version you are using, and which Operating System you are running on?

My apologies;

Windows running Microsoft SQLSERVER


Visual-COBOL-SOA-Visual-Studio(PA) Version 7

DBConnector-SQLP(PA) Version 7

Thanks for your help


My apologies;

Windows running Microsoft SQLSERVER


Visual-COBOL-SOA-Visual-Studio(PA) Version 7

DBConnector-SQLP(PA) Version 7

Thanks for your help

The recommended way to clear out stale rows in the Acu4GL/Database Connectors MS SQL lock tables is to use the provided stored procedure named sp_AcuRemoveUnusedLocks (or sp_AcuRemoveUnusedLocks_1, depending on the product version you are using). This stored procedure removes all rows whose PID is not in use by the system, and is not the current PID, ensuring you are not removing a row from an active user.


The recommended way to clear out stale rows in the Acu4GL/Database Connectors MS SQL lock tables is to use the provided stored procedure named sp_AcuRemoveUnusedLocks (or sp_AcuRemoveUnusedLocks_1, depending on the product version you are using). This stored procedure removes all rows whose PID is not in use by the system, and is not the current PID, ensuring you are not removing a row from an active user.

Excellent. Thank you very much for your help