HuzaifaMerchant
asked on
FRM-40655: SQL Error forced Rollback
Im getting the following error message
FRM-40655: SQL Error forced Rollback: clear form and re-enter transaction.
I cant understand what is causing it. Can anybody help?
Using Forms Version 6.0.5.0.2 on Win98 connection to Oracle8.1.5
Thanks
FRM-40655: SQL Error forced Rollback: clear form and re-enter transaction.
I cant understand what is causing it. Can anybody help?
Using Forms Version 6.0.5.0.2 on Win98 connection to Oracle8.1.5
Thanks
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I was hoping that this would solve the problem but it doesnt.
The pre-update trigger
DECLARE
table_row table_name%ROWTYPE;
unable_to_lock EXCEPTION;
PRAGMA EXCEPTION_INIT(unable_to_l ock, -00054);
BEGIN
SELECT *
INTO table_row
FROM table_name
WHERE pk_column = :block.pk_column
FOR UPDATE NOWAIT;
EXCEPTION
WHEN unable_to_lock THEN
message('unable to lock');
END;
goes through ok, but still does not commit.
Any ideas?
Thanks
The pre-update trigger
DECLARE
table_row table_name%ROWTYPE;
unable_to_lock EXCEPTION;
PRAGMA EXCEPTION_INIT(unable_to_l
BEGIN
SELECT *
INTO table_row
FROM table_name
WHERE pk_column = :block.pk_column
FOR UPDATE NOWAIT;
EXCEPTION
WHEN unable_to_lock THEN
message('unable to lock');
END;
goes through ok, but still does not commit.
Any ideas?
Thanks
Hi,
By handling this error, oracle will not allow you to commit the records.
In fact, it avoids the dead lock situation and stops the user to wait for a long time.
When the system displays such a message "Unable to lock", that means oracle cannot acquire lock in that moment because that record is being used by another session.
When it can acquire lock, system allows to perform the manipulation and commits the changes.
Only use of handling this oracle error message is to avoid dead locks. As soon as the resources are released, the same operation can be performed successfully.
Regards,
By handling this error, oracle will not allow you to commit the records.
In fact, it avoids the dead lock situation and stops the user to wait for a long time.
When the system displays such a message "Unable to lock", that means oracle cannot acquire lock in that moment because that record is being used by another session.
When it can acquire lock, system allows to perform the manipulation and commits the changes.
Only use of handling this oracle error message is to avoid dead locks. As soon as the resources are released, the same operation can be performed successfully.
Regards,
ASKER
I really donot know what was causing this problem. I was working on an existing form and could not make too many changes to it. I was able to make a new form with the same functionality and it works.
Thanks for your help.
Thanks for your help.
ASKER
The pre-update trigger
DECLARE
table_row table_name%ROWTYPE;
unable_to_lock EXCEPTION;
PRAGMA EXCEPTION_INIT(unable_to_l
BEGIN
SELECT *
INTO table_row
FROM table_name
WHERE pk_column = :block.pk_column
FOR UPDATE NOWAIT;
EXCEPTION
WHEN unable_to_lock THEN
message('unable to lock');
END;
goes through ok, but still does not commit.
Any ideas?
Thanks