Kayıt bazen kilitlenemiyor.

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
cecihan
Üye
Mesajlar: 94
Kayıt: 30 Ara 2006 11:40
İletişim:

Kayıt bazen kilitlenemiyor.

Mesaj gönderen cecihan »

Merhaba. Yazdığım proje bir devlet laboratuvarında 50 kadar bilgisayarda çalışıyor. bir ayda yaklaşık 10000-15000 kayıt ekleniyor. Veri tabanı erişimi için fibplus setini kullanıyorum. aynı anda birçok kullanıcı bir kayıda erişip düzeltme yapmaya çalıştığı için o kayıdı select ile seçerken update with lock ile kilitliyorum. düzgün çalışıyor. Ama düzensiz aralıklarla (ayda bir,3 ayda bir vs.) herhangi bir kayıtta bu kilitleme çalışmıyor. sayfa transactionlar commit veya rollback olmadan kesinlikle kapanmıyor. Bu 1. sorum. 2. sorum. bu tür durumlarda nasıl bir yöntem ile bu durumu aşarım. Firebird server'i durdurup başlatmak dışında. veya durdurup başlattığımda ben sisteme hasar veriyormuyum.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: Kayıt bazen kilitlenemiyor.

Mesaj gönderen Kuri_YJ »

Selamlar,

Açıklamalar yetersiz. Kodlama örnekleri ile anlatmanız lazım. FB Versiyonu kaç? Belki bir BUG olabilir (Sanmıyorum ama) hiç FB'nin BUG Listine baktınız mı? known issues gibi listeler var, oralara baktınız mı?

Kaydı neden kilitliyorsunuz o da ayrı bir konu ama neyse...

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
cecihan
Üye
Mesajlar: 94
Kayıt: 30 Ara 2006 11:40
İletişim:

Re: Kayıt bazen kilitlenemiyor.

Mesaj gönderen cecihan »

Merhaba Kuri_YJ.
Kullandığım firibird versionu 2.1.3
"Kaydı neden kilitliyorsunuz o da ayrı bir konu ama neyse..." Şu cümleniz ilgimi çekti.
Forumdaki en yaşlı üyelerden biri olmalıyım. Öylede olunca can çıkıyor ama huy çıkmıyor.Eski programlama alışkanlıkları devam ediyor. aşağıda ne yapmaya çalıştığımı biraz daha detaylı anlatmaya çalışayım. Belki bana değişik bir çözüm önerirsiniz.
Bir Numune tablosu var. her numune için kaç analiz var, kaç tanesi bitmiş kaç tanesi kalmış. o numune için tek kayıtta tutuluyor.
Havale tablosu her numune için n kayıtttan oluşuyor. Buradada analizi yapan kişinin id'si kendine ait analizlerin kaçını yapmış kaç tane kalmış vs. tutuluyor.
Analist analizlerini bitirip şef onayına gönderiyor. şef onayladığı zaman analistin işini havaledeki o kayıt kapatılıp numunedeki sayılar güncelleniyor. Ama arada hatalı değer girmiş olabilir analist. o havaleyi geri çağırıp işlem yapabiliyor.İşte kayıtları o zaman kilitliyorum.
-analizi yapan analist tam şef onaylarken analizini çağırıp değişiklik yapmasın (bu önemli bir hata olur programım için). çünkü datalar bir gridde 1 saat, 2 saat hiç refresh olmadan kalabiliyor.
-aynı anda 2-3 şef aynı numuneye ait analizleri onaylayıp sayıları karıştırmasın.(hoş bu tür hatalar olamaz artık ya.)
-Veyahut Analist bilgisayar bilgisayar geziyor labaratuarın içinde. aynı kaydı birçok bilgisayarda açmaya kalkabiliyor.
bu sebebleri önlemek için kayıt kilitleme yapıyorum. Elbette bu kadar anlatma ile yardımcı olamayabilirsiniz. Ama yinede teşekkürler ilginiz için.
Cevapla