Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Firebird Kayıt Kilitleme
#1
Question 
Firebirde aynı anda aynı kaydı kullanıcıların güncelleme silme v.s işlemleri için nasıl bir önlem almak gerekir siz nasıl alıyorsunuz?

“Do. Or do not. There is no try.”
Cevapla
#2
Merhaba,
RDBM'a sahip tüm veri tabanları, bir kayıt üzerinde birden fazla kullanıcı tarafından işlem yapmaya karşı korumalıdır. Veri tabanına gelen tüm istekler, işlem yapılmak üzere kuyruğa alınır.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
Merhaba.
SQL cümlenizin sonuna "WITH LOCK" eklerseniz tabloyu kilitlemiş olursunuz. Siz taployu kapattığınızda güncellediğinizde yada silme işlemini yaptığınızda tablonun kilidini açmış olursunuz. Kilitleme işlemi için ayrıca Transaction bileşeni üzerinde withlock ayarıda yapılmış olmalı.
Anahtar Kelimeniz "Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol"
Cevapla
#4
(19-12-2017, Saat: 08:56)Cyber Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba.
SQL cümlenizin sonuna "WITH LOCK" eklerseniz tabloyu kilitlemiş olursunuz. Siz taployu kapattığınızda güncellediğinizde yada silme işlemini yaptığınızda tablonun kilidini açmış olursunuz. Kilitleme işlemi için ayrıca Transaction bileşeni üzerinde withlock ayarıda yapılmış olmalı.
Anahtar Kelimeniz "Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol"

burada sadece ilgili kayıtmı kilitlenmiş oluyor yoksa tüm tablomu
örnek bir kullanıcı carinin telefon numarasını değiştir iken diğeri silmek istediğinde Dikkat X kullanıcısı Y kaydı üzerinde şuanda işlem yapmakta şeklinde bir uyarı vermek için nasıl bir yol izlemek gerekir (normalde deadlock der geçer firebird ) ayrı bir tablo yada fielda bu bilgiyi tutmakmı mantıklıdır?

“Do. Or do not. There is no try.”
Cevapla
#5
(20-12-2017, Saat: 04:24)masteryoda Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(19-12-2017, Saat: 08:56)Cyber Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba.
SQL cümlenizin sonuna "WITH LOCK" eklerseniz tabloyu kilitlemiş olursunuz. Siz taployu kapattığınızda güncellediğinizde yada silme işlemini yaptığınızda tablonun kilidini açmış olursunuz. Kilitleme işlemi için ayrıca Transaction bileşeni üzerinde withlock ayarıda yapılmış olmalı.
Anahtar Kelimeniz "Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol"

burada sadece ilgili kayıtmı kilitlenmiş oluyor yoksa tüm tablomu
örnek bir kullanıcı carinin telefon numarasını değiştir iken diğeri silmek istediğinde Dikkat X kullanıcısı Y kaydı üzerinde şuanda işlem yapmakta şeklinde bir uyarı vermek için nasıl bir yol izlemek gerekir (normalde deadlock der geçer firebird ) ayrı bir tablo yada fielda bu bilgiyi tutmakmı mantıklıdır?

Bu tarz işlemlerin hepsini veritabanında tutmak makul. Ancak tüm açıkları kapatmanız gerekir. Üzerinde işlem yapılırken başka birisinin yapmamasını sağlamak için ilgili modülün ilgili tablolarında bir sütun koyarak işlemde olup olmadığını 1-0 olarak tutabilirsiniz. Kullanıcı formu kapattığında, form crash olduğunda, elektrik gittiğinde, internet gittiğinde, veya çeşitli sebeplerle, belirli bir süreyi varsayılan atayıp, eğer o süre içinde herhangi bir ek işlem olmadıysa tekrar 0 yaparak ilerleyebilirsiniz. Bu tarz işlemleri veritabanı üzerinden yürütmek hem avantajlı hem dezavantajlı olur. Neticede data adaptörleri dönen result'ı söyler. With Lock yapısını kullanırsanız, Rollback yapılarınız varsa onları da revize etmeniz anlamına gelir. Bu da ekstra gereksiz işçilik anlamına geliyor.
{ talk is cheap show me the code. }
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Firebird de Enter karakter sorunu çözümü mcuyan 2 108 01-07-2018, Saat: 14:31
Son Yorum: klavye
  Firebird'de bellek Kullanımı rmzgenius 1 93 25-06-2018, Saat: 15:34
Son Yorum: klavye
  firebird 3 hakkında sorular masteryoda 9 870 06-06-2018, Saat: 18:51
Son Yorum: canbir
  Firebird Trigger'a parametre gönderme esistem 0 193 23-05-2018, Saat: 10:55
Son Yorum: esistem
  Firebird 3 embedded versiyon autoinc alan problemi canbir 4 224 16-05-2018, Saat: 23:24
Son Yorum: canbir



Konuyu Okuyanlar: 1 Ziyaretçi