Yorumları: 820
Konuları: 135
Kayıt Tarihi: 07-12-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.030
Uzman
30-12-2021, Saat: 09:42
(Son Düzenleme: 31-12-2021, Saat: 13:06, Düzenleyen: adelphiforumz.)
Merhabalar
Web ve Mobil üzerinden Servis aracılığı ile bir randevu sistemi olduğunu düşünelim.
Aynı saate ancak 1 kişinin randevu alması gerekiyor.
kişiler bilgilerini doldurup 1 milisanyelik bir farkla kayıt gönderdiğinde
belirtilen saat için daha önceden rezervasyon alınmış ise bu saat kapatılmış demem lazım
Fakat Zaman aralığı çok düşük olduğunda bir kayıt içeri yazılırken diğeri hala bu saati boş görebiliyor.
Belirli zaman aralığını lock yaptığımda buda başka sorunları karşıma getiriyor.
Böyle bir senaryoda bunu nasıl engelleyebiliriz
Teşekkürler
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz.
Yorumları: 227
Konuları: 41
Kayıt Tarihi: 05-08-2019
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.168
Programcı
@
Halil Han BADEM hocamın tavsiyesi ile beraber aynı anda
sql server da lock yönetimi yapabilirsin, bu makaleyi bi oku istersen.
http://www.veritabani.gen.tr/2017/02/27/...cesitleri/
Exclusive (X) Locks senin içini çözer gibi.
https://www.google.com/search?q=SQL+SERV...X%29+Locks
Sorsaydı Bilirdi Sormuyor ki Bilsin.
Bilseydi Sorardı Bilmiyor ki Sorsun.
Yorumları: 820
Konuları: 135
Kayıt Tarihi: 07-12-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.030
Uzman
@
Halil Han BADEM ve @
bydelphi
Açıklamalarınız için teşekkür ederim.
Bir X Tablosu düşünün ve içinde sadece sıra numarası olsun (Manuel arttırılan)
Bu tabloya saniyede 100 farklı lokasyondan insert için gelindiğini varsayın.
Her gelenin elindeki numara içerde varsa son numarayı bulup tekrar insert etmeye çalışacak.
Olay bu senaryo üzerine düşünülürse ortada Select edip LOCK edilen bir kayıt yok.
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz.
Yorumları: 16
Konuları: 0
Kayıt Tarihi: 26-12-2016
Rep Puanı: 122
Başlangıç
Merhaba,
Düşündüğünüz yapıyı SQL Server üzerinde function'lar ile kontrol edip güncelleme işlemlerini yapabilirsiniz.
Delphi'den de bu functionları çağırabilirsiniz.
Function'da hata kontrollerini yaparak client üzerinde buna göre işlemler yapabilirsiniz.
İyi çalışmalar.
Yorumları: 820
Konuları: 135
Kayıt Tarihi: 07-12-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.030
Uzman
Merhaba Arkadaşlar
Bu konuyu araştırınca bu tür işlemlerin en kolay sağlanabildiği yolun Constraintler olduğunu gördüm.
Ve yaptığım testlerde insert işlmeleri Nano Saniyeler bazında hatasız olrak çalışıyor
Bilginize
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz.