Subject Re: [IBO] Transaction Advice Needed
Author Artur Anjos
Kevin Stanton wrote:

> Greetings,
> I've written a very large application with IBO using both TDataset and
> Native controls.
> My main question to the IBO experts - is there a tool/component to help me
> track down what transaction is holding up the Oldest transaction and Oldest
> active from not being incremented.

Hi Kevin,

In Fulda this year Jason did a very nice presentation. It was an open
session, and Jason took some time to explain us the tools that IBO
provides us.

What I have learn from that sessions:

- To use TFrmStatus
This one I have miss from some years, and it's so simple to use! Just
put IBF_Status on your use list and somewhere in your app use the code:

with TfrmStatus.Create(Self) do

That's it: a full report of what's happen, what transactions are open,
the time for OAT, etc, etc. Just take a look at it and see what I'm
talking about. It0's great to use in developing cycle.

And a few details that I had to learn by myself:

- You will need to use a IB_SessionProps in your application. I never
used it in some applications, since I use just TDataset components, and
I thought that the IB_Session was just for colors and something like
that. Well, it's not: you need it to define TimerInterval, so your
transactions could be automatic closed by IBO, if you set TimeOutProps.

- TFrmStatus will help you identify status inside your application. You
will need to make something to help you out on production: getting that
info from all workstations could be done by a timer or by a event. You
need to make something like this if you want to get stats from all
workstations in a certain time.

- Get stats from your server. Just create a simple script to get you
this. In Linux, it's very simple, something like this:


date >> /var/log/YourLogFile.log
/opt/interbase/bin/gstat -h PathToYourDatabase | grep -E 'Oldest|Next
tran' >> YourLogFile.log

I hope this helps,