Subject | Help: IBObjects, Delphi & ISC Error |
---|---|
Author | David Husarik |
Post date | 2001-09-27T02:18:45Z |
Hi Group,
I have a Delphi 4.03 Professional application running
on 2 machines of 3 machine peer-to-peer network. The
database server is the third machine. This is an
automated process that drives diskette duplicators
that read files submitted on diskette. I received the
following error message from the Delphi program.
W2Reader Error
ISC ERROR CODE: 335544345
ISC ERROR MESSAGE:
Lock conflict on no wait transaction deadlock.
I know that the conflict arose when both machines hit
the same point in the program. This is when a number
must be obtained to rename the file from the diskette
so the file can be transfered to the hard drive for
further processing. I have a table in the database
that contains 1 record with 3 fields, ID, Next_Write,
Next_Write2. Mch 1 reads and updates Next_Write. Mch
2 reads and updates Next_Write2.
Since I am new to Interbase and IBObjects, to get this
project going I used the following code from tutorial1
of basic tutorials. I stripped out the comments.
procedure TFrmMain.InitializeTransaction;
begin
with IB_Transaction1 do
begin
if InTransaction then Rollback;
AutoCommit := True;
IB_Connection := IBC_Main;
Isolation := tiCommitted;
RecVersion := True;
end; { with }
end;
The Question is how do I handle this error. Do I need
to set other properties to resolve the conflict like
LockWait to true or Isolation to something else. Or
should I put the program into repeat ... until loop
until I get the value of Next_Write or Next_Write2
depending upon the machine.
Thanks in advance,
rgds,
David Husarik
__________________________________________________
Do You Yahoo!?
Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger. http://im.yahoo.com
I have a Delphi 4.03 Professional application running
on 2 machines of 3 machine peer-to-peer network. The
database server is the third machine. This is an
automated process that drives diskette duplicators
that read files submitted on diskette. I received the
following error message from the Delphi program.
W2Reader Error
ISC ERROR CODE: 335544345
ISC ERROR MESSAGE:
Lock conflict on no wait transaction deadlock.
I know that the conflict arose when both machines hit
the same point in the program. This is when a number
must be obtained to rename the file from the diskette
so the file can be transfered to the hard drive for
further processing. I have a table in the database
that contains 1 record with 3 fields, ID, Next_Write,
Next_Write2. Mch 1 reads and updates Next_Write. Mch
2 reads and updates Next_Write2.
Since I am new to Interbase and IBObjects, to get this
project going I used the following code from tutorial1
of basic tutorials. I stripped out the comments.
procedure TFrmMain.InitializeTransaction;
begin
with IB_Transaction1 do
begin
if InTransaction then Rollback;
AutoCommit := True;
IB_Connection := IBC_Main;
Isolation := tiCommitted;
RecVersion := True;
end; { with }
end;
The Question is how do I handle this error. Do I need
to set other properties to resolve the conflict like
LockWait to true or Isolation to something else. Or
should I put the program into repeat ... until loop
until I get the value of Next_Write or Next_Write2
depending upon the machine.
Thanks in advance,
rgds,
David Husarik
__________________________________________________
Do You Yahoo!?
Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger. http://im.yahoo.com