Παιδιά αντιμετωπίζω ένα πρόβλημα και προσπαθώ να προσδιορίσω την αιτία του.
Έχω ένα πρόγραμμα γραμμένο σε VS2003(C#) που χρησιμοποιεί SQL Server 2000. Στην βάση έχει πρόσβαση ένας τοπικός client και ένας απομακρυνσμένος(με το ίδιο πρόγραμμα).
Και οι δυο διαβάζουν και γράφουν στον server συχνά περισσοτερα από 1 rows δεδομένων.
Στο πρόγραμμα χρησιμοποιώ transactions(OledbTransaction)
Από τον απομακρυνσμένο παρουσιάζεται σχετικά συχνά, αλλά δυστυχώς εντελώς τυχαία όπως προκυπτει, το φαινόμενο, από μια συστοιχία εγγραφών(πχ 50) να καταχωρούνται οι πρώτες 28, η 29η να χάνεται και να συνεχίζουν οι υπόλοιπες 20.
Οι γραμμές που ο client χρησιμοποιεί πικοίλουν(μισθωμένες 128άρες, DSL κτλ), αλλά η συγκεκριμένη είναι DSL.
Υπάρχει περίπτωση, ενώ κάνω commit τα δεδομένα κάποιου transaction, να πέφτει η γραμμή και να ξανασηκώνεται χωρίς ο SQL server Να ακυρώνει το transaction και να κάνει rollback ότι έχει γραφτεί μέχρις στιγμής?
Γενικά ποιά είναι η πολιτική σε transaction όταν υπάρχει timeout?
Ξέρω ότι μιάζει χαζή η ερώτηση αφού η λογική λέει ότι το timeout ακυρώνει το transaction και ότι έχει γραφτεί γίνεται rollback, αλλά με την MS ποτέ δεν ξέρεις
![[:^)]](/forums//emoticons/emotion-18.gif)
και δεν μπορώ να σκεφτώ άλλη αιτία.
Ευχαριστώ.