Commit Sorunu

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
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Commit Sorunu

Mesaj gönderen SieS »

transection.commit; ettiğimizde bütün açık tablolar kapanıyor.
commit etmenin başka yolu yokmu ibtable kullanıyorum.
commit yapmadığım zamanda diğer kullanıcılar girilen bilgileri göremiyor
taaki kaydı giren A kullanıcısı programı kapatana kadar.
Acil yardımmm...
Kullanıcı avatarı
pentiumkivanc
Üye
Mesajlar: 350
Kayıt: 19 Şub 2004 10:24
İletişim:

Mesaj gönderen pentiumkivanc »

evet bencede acil yardım
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

commitretaining tabloyu kapatmadan commit eder
committen tek farkı da bu
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

Commit Yerine
IBTransaction1.CommitRetaining kullanın.

IBTransaction bileşenine çift tıklayın ve Read Commited i seçin.
bu sayade commit edilmiş verileri diğer kullamıcılar görebilir.
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Mesaj gönderen SieS »

Sadettin bey merhaba
söylediklerinizi aynen yaptım. Fakat bu işlemi yaptıkdan sonra veri girişlerinde korkunç yavaşlama olmaya başladı. Günlük raporlar giriliyor
iki yada üç rapor girilldikten sonra dorduncu rapor girilip post edince program resmen donuyor ve yaklaşık 1 dk gibi uzun bir süreden sonra normale dönüyor.
Yukardaki söylediklerinizi aynen yaptım ne eksik ne fazla. Acaba unutulan başka birşeymi var .
Bu arada server ın çalışmasınıda takip ettim o kadar yoğun işldemde olmuyor CPU ya verdiği yük oranı %02 bazan %60 oluyor ama kısa süreli

Kolay gelsin.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Öncelikle IBTable yerine IBQuery kullanmanızı tavsiye ederim. Bu performans için değil ama. IBTable ın kodlarına bakarsanız oda zaten runtimeda SQL açıp kullanıyor.
Performansı etkileyen transactionlar değildir. Afterpost gibi vs eventlerinizi kotrol edin, yada kayıt işleminden sonraki işlemleri bir kotrol edin.
LookUp Field kullanıyormusunuz ?
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Mesaj gönderen SieS »

Sorunu buldum verilerin girildiği tabloya bağlı 2 adet detay tablo kullanıyorum yani tablo1 e girilen verilerin bazı değerlerini diğer 2 tabloda kumule ettiriyorum. bu işlemi data önce direk delphi kodları ve table kullanarak yapmıştım yavaştı ama bu kadar yavaş değildi neticede procedure ve triger yazmayıda öğrendim ya :cry: kısa zaman önce hemen iki procedure yazdım ve bunları tablo1 e triger ile after postuna yazdım gayet iyi gdiyordu ama duraklamalar başladı bende iki procedurden birini iptal ettim şimdi normale döndü heralde SP yazımında yanlış birşeyler yaptım . Şimdi onu çözmeye çalışıyorum.

ilginize teşekkür ederim ...
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Kumuleden kastınız toplamları almakmı ? eğer öyleyse bunları bir tabloya yazmak yerine rapor anında sum, max min gibi SQL yazarak yapın. herkez SP ve triger üzerine yoğunlaştı ama sanırım VIEW dan kimse bahsetmedi. Karışık SQL cümleleri ile işlem yapılacaksa bu en güzel çözümdür. Üstelik VIEW lar üzerinde kayıtda yapılabiliyor, tabi bazı engeller var, mesala JOIN kullanılmaması gerekiyor gibi
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Mesaj gönderen SieS »

Hayır o anlamda kümüle değil raporlar günlük makina sipariş vardiya gibi kriterlere göre giriliyor ve dağınık bende bunu tekrar makina, sipariş şeklinde derli toplu hale dönüştürüyorumki bazı rapolar hızlı alınabilsin çok da iyi oluyor.
bazı şeylerş geç öğrenmek kötü meğer SQL ile herşey ne kadar kolaymış
bundan spnraki proramlarım daha iyi olacak
Cevapla