Commit Sorunu
SieS13.08.2003 - 14:55:58
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...
 
pentiumkivanc19.02.2004 - 11:01:13
evet bencede acil yardım
 
gkimirti19.02.2004 - 11:29:59
commitretaining tabloyu kapatmadan commit eder
committen tek farkı da bu
 
sadettinpolat19.02.2004 - 11:38:24
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.
 
SieS11.03.2004 - 09:57:14
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.
 
freeman3511.03.2004 - 10:52:56
Ö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
 
SieS11.03.2004 - 11:16:18
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 Crying or Very sad 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 ...
 
freeman3511.03.2004 - 11:50:20
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
 
SieS11.03.2004 - 13:38:19
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
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com