Subject | Re: [IBO] Transaction confusion |
---|---|
Author | TeamIBO |
Post date | 2002-01-15T00:03:10Z |
> Prepare; (If not prepared)Presuming there is only the single unit of work to be done. IBO
> Execute;
> Commit;
should automatically start the transaction as required, but you could
explicitly start the transaction above this code if desired.
The commit is also partially dependant on what other components are
attached - since a commit will result in a close of all cursors/dsql.
> I don't believe this to be the case. The connection is throughIf all your components are using the default transaction (and so they
> localhost, and other DSQL components over the same connection
> continue to execute correctly. Just one of them fails and stays
> failed, until the process is restarted. (I must admit my error
> handling is thin).
are all using the same transaction), then it is possible that this is
the source of your difficulty. There are potential threading issues
with services that I am not very familiar with - which is why I
suggested Jasons base application as a starting point. You may need to
verify that you dont have multiple components attempting to do things
at the same time.
> If the DSQL component or Transaction were screwing up, what would beIf you are certain that it is not a disconnection problem then
> the best way to recover? Would Disconnect/Reconnect clean it up?
disconnect/reconnect are overkill - although it would be likely to fix
the problem temporarily.
Hopefully the explicit transaction will resolve the problem, if not
then I suggest you will need to review how the service threads
synchronise with each other.
--
Geoff Worboys - TeamIBO
Telesis Computing