capability not support
capability not support
arkadaslar ben delphi4 ile oracle daki tablolara veri yazmak istiyorum.. ancak 'Capability not support' hatasi veriyor..bununla ilgili sitede arastirdim ama yeterli bir bilgi bulamadim. acaba sorun delphi 4 kullanmamdanmi geliyor? s.a
A.S.
1. Arama kısmı açılır.
2. capability not support yazılır ve Bütün terimler için ara seçeneği seçilir
3. Arama tuşuna basılır.
4. Herhangi bir sonuç dönmez ama pes edilmez
5. capability yazılarak aranır
6. Dönen sonuçlardan en sonuncunun aynı hatayla ilgili olduğu ve hatayı yanlış yazdığımız anlaşılır.
7. Mesaj okunarak gerekli bilgiye ulaşılır. [MUTLU SON]
NOT : Dövecek olan ekip yola çıktı
1. Arama kısmı açılır.
2. capability not support yazılır ve Bütün terimler için ara seçeneği seçilir
3. Arama tuşuna basılır.
4. Herhangi bir sonuç dönmez ama pes edilmez
5. capability yazılarak aranır
6. Dönen sonuçlardan en sonuncunun aynı hatayla ilgili olduğu ve hatayı yanlış yazdığımız anlaşılır.
7. Mesaj okunarak gerekli bilgiye ulaşılır. [MUTLU SON]

NOT : Dövecek olan ekip yola çıktı

hocam dediginiz seyi zaten yapmistim. bahsettiginiz yeride okumustum.ancak yeterli bilgi yoktu..benim anlamadigim ici ice 2 tane query kullandim bunlardan ilki verdigim bilgiyi yaziyor databasee ancak 2.si detail olani veriyi yazmiyor ve hatayi veriyor birde soyle bir durum var ben querye ait cachedupdates i true yaptigimda bu hatayi vermiyor hata kesiliyor ama tabloyada yazmiyor bilgiyi? yaa isten bundan oturu gelecek ekibi geri cagir 

yaw şu soruları detaylı yazsanızda mesaj trafiği azalsa,
ilk kaydettiğin master mı ? onu kaydediyor demişsin cachedupdate i açtıysan db ye gömmesi için applyupdate demezsen gömmez. arada bağlantıları yaptığın field ları kontrol et onlarda hata olabilir
kolay gele
ilk kaydettiğin master mı ? onu kaydediyor demişsin cachedupdate i açtıysan db ye gömmesi için applyupdate demezsen gömmez. arada bağlantıları yaptığın field ları kontrol et onlarda hata olabilir
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 !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
evet hocam ilki master query. simdi detail( tabloya yazarken hata veren tablo) tablodaki cachedupdates i true yaptigimda sorun yok ama applyupdate ettigimda ayni hatayi veriyor anlayacagin yazmiyor bir turlu ve capality not support hatasi veriyor alanlari kontrol ettim. ancak ayni kodla interbase yazdiriyorum fakat oracle da bu hata veriyor
begin
with QKayit do
begin
Active := False;
ParamByName('id').AsInteger :=StrToIntOrderText.SampleID);
Active := True;
if IsEmpty then yaz('Bulunamadi')
else
begin
Edit;
FieldByName('DURUM').AsString := '3'; //bu kisim yaziyor
Post;
end;
sonuc:='123';
try
Database1.StartTransaction;
QSonuc.Active := False;
with QSonuc do
begin
TestN:=Karsilik('12');
Active := False;
ParamByName('ID').AsInteger := StrToInt(OrderText.SampleID);
ParamByName('test_no').AsInteger := TestN;
Active := True;
if not QSonuc.IsEmpty then // yazmayan kisim hata veren kisim
begin
Edit;
FieldByName('SONUC').AsString := Sonuc;
FieldByName('DURUM').AsString := '3';
Post;
end;
end;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
end;
end;
ancak ben bu kod bir procedur yani ben bunu bir butona bastigimda bu kodu calistiriyorum..
with QKayit do
begin
Active := False;
ParamByName('id').AsInteger :=StrToIntOrderText.SampleID);
Active := True;
if IsEmpty then yaz('Bulunamadi')
else
begin
Edit;
FieldByName('DURUM').AsString := '3'; //bu kisim yaziyor
Post;
end;
sonuc:='123';
try
Database1.StartTransaction;
QSonuc.Active := False;
with QSonuc do
begin
TestN:=Karsilik('12');
Active := False;
ParamByName('ID').AsInteger := StrToInt(OrderText.SampleID);
ParamByName('test_no').AsInteger := TestN;
Active := True;
if not QSonuc.IsEmpty then // yazmayan kisim hata veren kisim
begin
Edit;
FieldByName('SONUC').AsString := Sonuc;
FieldByName('DURUM').AsString := '3';
Post;
end;
end;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
end;
end;
ancak ben bu kod bir procedur yani ben bunu bir butona bastigimda bu kodu calistiriyorum..
arkadaslar bunun cozumunu buldum.. bir kere queryi kesinlikle cachedupdates etmek gerekiyor yoksa ayni hatayi verecektir..ardindan query deki disardan alinan parametreleri iyi tanitmak gerekiyor yani bunlarin datatype lerini ve paramtype larini her ikisinide tanitirsaniz hata ortadan kalkar bu arada applyupdate etmesenizde olur diyecem ama olmaz bu applyupdate olayini commit ettikten sonra yapmaniz gerekiyor yoksa yine olmaz.. umarim bu bilgiler birilerine yarar
ApplyUpdate ile Commit kavramlarını birbirine karıstırmamak lazım bence
belki yanlıs biliyorumdur , eger oyleyse arkadaslarım hatalarımı duzeltsinler.
Commit, transaction destekli veritabanlarında bilgilerin veritabanının cacheinden diske aktarılmasını saglamakta....
ApplyUpdate ise delphi tarafında bellekte olan kayıt dizilerinin programınız tarafından diske (eger commit edilmemisse vt nin cacheine) yazılmasını saglar.
Bir bakıma her ikisi de aynı isi yapmakta ama aynı anda kullanmanın hicbir manası yok bence (yanılıyorda olabilir, bilmedigim bir sey olabilir)
mesela aynı transaction ı kullanarak ben 4-5 tabloya kayıt ekleyip
onay verildiginde Commit edersem bunların hepsi diske yazılacak.
Aynı sekilde ben 4-5 tablonun CacheUpdates ozelliklerini aktif yapıp kayıtlar girdikten sonra ApplyUpdate dersem yine aynı sey olacak.
Bu durumda transaction destekli vt lerde kendi Commit ve Roolback islemlerini kullanmak;
desteklemeyen paradox,dbase gibi vtlerde ApplyUpdate kullanmak daha mantıklı.
belki yanlıs biliyorumdur , eger oyleyse arkadaslarım hatalarımı duzeltsinler.
Commit, transaction destekli veritabanlarında bilgilerin veritabanının cacheinden diske aktarılmasını saglamakta....
ApplyUpdate ise delphi tarafında bellekte olan kayıt dizilerinin programınız tarafından diske (eger commit edilmemisse vt nin cacheine) yazılmasını saglar.
Bir bakıma her ikisi de aynı isi yapmakta ama aynı anda kullanmanın hicbir manası yok bence (yanılıyorda olabilir, bilmedigim bir sey olabilir)
mesela aynı transaction ı kullanarak ben 4-5 tabloya kayıt ekleyip
onay verildiginde Commit edersem bunların hepsi diske yazılacak.
Aynı sekilde ben 4-5 tablonun CacheUpdates ozelliklerini aktif yapıp kayıtlar girdikten sonra ApplyUpdate dersem yine aynı sey olacak.
Bu durumda transaction destekli vt lerde kendi Commit ve Roolback islemlerini kullanmak;
desteklemeyen paradox,dbase gibi vtlerde ApplyUpdate kullanmak daha mantıklı.
ÜŞENME,ERTELEME,VAZGEÇME