Havuz Adında her ay boşalttığım bir Tablom var
Clientler, her ay oluşturdukları verileri normalde Row Row yani satır satır olarak Döngüyle gönderiyorlar, yani bir satırlık verinin Havuz dediğim Tabloya kaydedilmesi bağlantı hızına göre yaklaşık 20-40 ortalama 30 saniye sürüyor Hal böyleyken 600 kayıt = 600*30 = 18.000 saniye eder.
18.000 saniye = 300 dakika = 5 saat ediyor.
Verileri 5 saat bekleyip 1 Row data dahi eksik gelmeden işlem yapmamam gerekiyor. yani Tüm Clientlerdeki Dataların Tamamen Havuz Tablosuna girmiş olması gerek.
Verileri Döngüye bağlı Row Row değil de
Queryden Filtre edilmiş haliyle Tek atımda Post edebilme imaknı var mı, Örnek bulamadım da =
Kullandığım Kod
Kod: Tümünü seç
for i:=0 to UniQuARSIV.RecordCount-1 do begin
try
ProgressBar.Position:=UniQuARSIV.RecNo;
UniQuMERKEZARSIV.Insert;
UniQuMERKEZARSIV.FieldByName('TCKIMLIK').Value:=UniQuARSIV.FieldByName('TCKIMLIK').Value;
UniQuMERKEZARSIV.FieldByName('ADSOYAD').Value:=UniQuARSIV.FieldByName('ADSOYAD').Value;
UniQuMERKEZARSIV.FieldByName('YIL').Value:=UniQuARSIV.FieldByName('YIL').Value;
UniQuMERKEZARSIV.FieldByName('AY').Value:=UniQuARSIV.FieldByName('AY').Value;
.
. // Buralarda 60 Adet Alan bulunuyor
.
UniQuMERKEZARSIV.FieldByName('BIRIMI').Value:=UniQuARSIV.FieldByName('BIRIMI').Value;
UniQuMERKEZARSIV.FieldByName('ISLENDIMEDI').Value:=UniQuARSIV.FieldByName('ISLENDIMEDI').Value;
UniQuMERKEZARSIV.FieldByName('UNIQUEALANX').Value:=UniQuARSIV.FieldByName('UNIQUEALAN').Value;
UniQuMERKEZARSIV.Post;
UniQuARSIV.Next;
except
Bu veriler gelinceye kadar 5 saat PC açık kalmak zorunda , Yarım gün iş yapamaz oluyorum
Acaba bunun kısa bir yolu yok mu?
Clientlerde içinde bulunulan Aya göre filtre edilmiş verilerin (Yaklaşık 10 ila 200 adet kayıt) Başka bir metotla Post Edilebilir mi
Döngü ile her bir ROW kaydı bayağı zaman alıyor.
Bunun SQL kodu var mı , varsada bayağı araştırdım bulamadım Eski usül For döngüsüyle yada EOF oluşuncaya kadar kaydediyorum bu da çok yavaş.
EDİT : Kodlarımda Küçük bir hata buldum, düzelttim Bir satır row un gelmesi 15 saniyeye düştü ama yinede zaman yetersiz.