Devart IBDAC Autocommit olayı

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Devart IBDAC Autocommit olayı

Mesaj gönderen White Rose »

S. A.
Arkadaşlar kullananlar bilirler Devart'ın IBDAC componentlerinden IBCConnection, IBCTable ve IBCQuery componentlerinin Autocommit diye bir özelliği var.
Ben bu özelliğin kullanımı konusunda ustalardan öneri bekliyorum. Eğer IBCConnection'in Autocommit özelliğini True yaparsak programın tamamında Transaction kullanmadan tüm olaylar (Insert, Update, Delete) otomatik olarak commit mi ediliyor. Bunu false yapıp sadece IBCTablelerin/IBCQuerylerin Autocommit özelliğini True yaparsak Table ve Query bazında mı commit ediliyor, bu durumlarda Transaction kullanmaya gerek var mıdır. Bir deneme yaptım. IBCConnection'un özelliğini True ve False yaparak 10.000 kayıt insert ettim. IBCConnection'un True olması ile False olması arasında süre bakımından 2/3 katı fark var.
Cevaplarınızı bekliyorum, teşekkürler.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: Devart IBDAC Autocommit olayı

Mesaj gönderen Kuri_YJ »

Selamlar,

Transaction olaylarında Autocommit kullanmak çok tercih edilebilir bir şey değildir (bu benim fikrimdir). Çünkü rollback etme zamanı veya commit etme zamanı belirlenen iş kurallarına göre doğru yerde ve anda yapılmalıdır. Fiş detaylarından bazılarını silmek isteyen bir kullanıcı için Delete işleminden hemen sonra commit etmek demek, yanlışlıkla silinen kaydın üzerine bir bardak su içmek demektir.

Bence böyle commit veya rollback gibi yapılacak şeyler mutlaka bilinçli yapılmalı. Verilerin sağlamlığı açısından önemli bir husus ve ben tercih Autocommiti tercih etmem.

Kolay Gelsin
Adnan
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla