pellus
12th November 2008, 16:22
Environment. Application:LN6.1 FP3. Tools: FP3, Porting set: 8.3a.01 port number PA3254. DB: MSSQL, OS: Windows.
Another application is writing in baan-tables (specially dedicated for this), baan is reading from these tables to insert sales orders/lines. (One table for header, one for lines).
Now a problem has arised: Some orders only get some of the lines, no errors detected at all.
People from the other application suspect that we read the data while they are still writing. They 'commit' after all is written.
Can this happen? Can baan read the data before it is committed by the other application? And if so, under what circumstances?

_Ralph_
12th November 2008, 17:23
Faced the same problem once.

The reason was that the application commits on every inserted line.

You can check this at all or make the other application activate a trigger to start your program. In this case the program will start only if the application finish the other process.

Markus Schmitz
12th November 2008, 17:45
That's actually not a Baan topic. Baan is just a database application and is not performing any miracle.

In some databases "dirty reads" are impossible (like in Oracle), in some databases it depends, like in Informix.

Not sure aboyut SQL Server in this case. My assumption was, we have by default read consitency here. But in SQL Server you can influence the isolation level/granularity for example with the "set tranaction isolation level" statement.

So it is technically possible.