Aynı anda aynı tabloya birden fazla update
Aynı anda aynı tabloya birden fazla update
Arkadaşlar yazdığımız programda aynı anda 2 3 kişi aynı tabloda farklı id lerdeki yerileri güncelliyorlar fakat sql server ilk gönderileni kaydediyor diğerleri işlem görmüyor araştırdım dead sql deniliyormus buna nasıl çöze bilirim facebook falan bu gibi büyük yerler nasıl yapıyor
Re: Aynı anda aynı tabloya birden fazla update
Selamlar,
Locking veya Isolation Level diye bahsedilen konuda sıkıntı yaşıyorsunuz. Facebook'u bırakın, 3-5 elemanı olan muhasebe şirketleri, 2-3 terminali olan marketler bunu nasıl yapıyor?
Bu konuda programınızda sorun var demektir. Programdaki çalışma mantığınızı anlatın. Sıkıntı programınızda.
Kolay Gelsin
Locking veya Isolation Level diye bahsedilen konuda sıkıntı yaşıyorsunuz. Facebook'u bırakın, 3-5 elemanı olan muhasebe şirketleri, 2-3 terminali olan marketler bunu nasıl yapıyor?
Bu konuda programınızda sorun var demektir. Programdaki çalışma mantığınızı anlatın. Sıkıntı programınızda.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Re: Aynı anda aynı tabloya birden fazla update
Kullandığınız ADO bileşeninin özelliklerinden (AdoTable, AdoQuery vs) LockType : ltOptimistic, CursorType : ctKeyset ve CursorLocation : clUseClient (bu çok önemli) yaparsanız sorun olmaz.
Özellikle CursorLocation özelliği clUseServer olursa aynı anda işlem yapılan (ağda vs ortak çalışılan) veritabanlarında bu tür problemler oluşur. (ilk olarak kayda odaklanan cihazın IDsi gecerli olur)
Bununla birlikte veritabanı tablolarınızda unique bir alanı (autoincrement olması mantıklı olur. ID vs isimil bir alan) PrimaryKey olarak tanımlamanız da şarttır.
Özellikle CursorLocation özelliği clUseServer olursa aynı anda işlem yapılan (ağda vs ortak çalışılan) veritabanlarında bu tür problemler oluşur. (ilk olarak kayda odaklanan cihazın IDsi gecerli olur)
Bununla birlikte veritabanı tablolarınızda unique bir alanı (autoincrement olması mantıklı olur. ID vs isimil bir alan) PrimaryKey olarak tanımlamanız da şarttır.