Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Spajanje na bazu sa sporim serverom ili sporom internet vezom

[es] :: Pascal / Delphi / Kylix :: Spajanje na bazu sa sporim serverom ili sporom internet vezom

[ Pregleda: 3686 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

XGhost

Član broj: 33279
Poruke: 313
37.203.84.*



+18 Profil

icon Spajanje na bazu sa sporim serverom ili sporom internet vezom14.01.2015. u 14:03 - pre 74 meseci
Koristim komponente UniDAC i u poslenje vrijeme imam problem sa podacima koje se nalaze na serveru
jer mi se cesto javi greska da je server nedostupan, odnosno da program obradjuje podatke brze nego sto ih
moze dobiti sa servera.
Kako da ubacim izuzetke da prilikom konekcije program saceka odziv sa servera.
To me zanima za 2 komponente na UniConnection i UniQuery za jednu prije same konekcije
na bazu kad se pokrece program i za ovu drugu kad postavim neki upit da saceka sa realizacijom dok
se ne uspostavi veza sa bazom
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2654



+73 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom14.01.2015. u 15:44 - pre 74 meseci
Jedino da se vrtiš u petlji i ponavljaš zahtev dok ti ne dođu ti željeni podaci.
 
Odgovor na temu

XGhost

Član broj: 33279
Poruke: 313
37.203.84.*



+18 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom14.01.2015. u 23:58 - pre 74 meseci
Jel imas primjer kako to da uradim sa UniQuery componentom
konekciju bi nekako rjesio ali kad saljem kompleksan upit
nemam ideju.
Evo najprostiji primjer koda
--------------------------------------
UniQuery .Close;
UniQuery .Active:=true;
UniQuery .sql.Clear;
UniQuery .SQL.Add ('select * from partneri');
try
UniQuery .Open;
except
on EDatabaseError do
ShowMessage ('Greska u proceduri');
end;

----------------------
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 5958

Sajt: pedja.supurovic.net


+1446 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom15.01.2015. u 00:25 - pre 74 meseci
Pogledaj na toj komponenti dali mozes da podesis tajmaut ili tako nesto.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2654



+73 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom15.01.2015. u 00:54 - pre 74 meseci
Otprilike ovako:

Code:

repeat 
  try
    qry.Open;
  except
     on EDatabaseError do // Proveri koja je greska za timeout
     begin
        Sleep(100); // Sacekamo malo pa ponovimo zahtev
     end;
  end;
until qry.Active;

 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 793
..ppoe.dyn.broadband.blic.net.



+61 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom15.01.2015. u 12:54 - pre 74 meseci
Citat:
XGhost:
UniQuery .Close;
UniQuery .Active:=true;
UniQuery .sql.Clear;
UniQuery .SQL.Add ('select * from partneri');
try
UniQuery .Open;
except
on EDatabaseError do
ShowMessage ('Greska u proceduri');
end;

----------------------


Zar 'UniQuery.Active := true;' i 'UniQuery.Open;' nije jedna te ista stvar? A setovanje Active pre upisa SQL-a: je l to nesto specijalno s tim komponentama, pa mora/moze tako?

Pozz
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2654



+73 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom15.01.2015. u 13:04 - pre 74 meseci

> Zar 'UniQuery.Active := true;' i 'UniQuery.Open;' nije jedna te ista stvar? A setovanje Active pre upisa SQL-a:
> je l to nesto specijalno s tim komponentama, pa mora/moze tako?

Promena teksta SQL kverija sigurno zatvara i oslobadja zauzete resurse, isto kao i Close. Tako da je postavljanje na Active višak.
 
Odgovor na temu

XGhost

Član broj: 33279
Poruke: 313
*.sa-ma.dlp186.bih.net.ba.



+18 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom15.01.2015. u 22:45 - pre 74 meseci
Znam da je komanda active visak greskom se nasla jer sam kod napisao onako napamet

imam na komponenti UniConnection opciju ConnectionTimeout i defaultno stoji 15 medjutim
promjenom vrijednosti nisam primjetio neki napredak
 
Odgovor na temu

XGhost

Član broj: 33279
Poruke: 313
*.sa-ma.dlp186.bih.net.ba.



+18 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom15.01.2015. u 23:08 - pre 74 meseci
Zahvaljujem SAVKICU :)

Izgleda da je proslo bar sto se konekcije tice
Stavio sam kod u on create (na datamodul)

repeat
try
DM1.UniConnection1.Connected:=true;
except
on e: EUNIError do
begin
Sleep(100);
end;
end;
until DM1.UniConnection1.Connected=true;

Valjda ce jos nekom koristiti

Kako da jos ovdje ubacim ako npr konekcije nikako nema 30 sekundi da ugasi aplikaciju i izbaci poruku da nije moguca konekcija konekcija


 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2654



+73 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom15.01.2015. u 23:18 - pre 74 meseci
Treba ti dodatna promenljiva, koju setuješ pre ulaska u petlju i proveravaš u uslovu izlaska iz petlje:

Code:


var
  StartTime: TDateTime;
begin
  StartTime := Now;

  repeat
   
  until SecondsBetween(Now, StartTime) > 30
end;



 
Odgovor na temu

XGhost

Član broj: 33279
Poruke: 313
*.sa-ma.dlp186.bih.net.ba.



+18 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom15.01.2015. u 23:35 - pre 74 meseci
Malo sam zbunjen

Jel da sve ubacim ovako u oncreate dogadjaj
ili da ovo ispod

repeat
try
DM1.UniConnection1.Connected:=true;
except
on e: EUNIError do
begin
Sleep(100);
end;
end;
until DM1.UniConnection1.Connected=true;

napravim kao proceduru (npr procedure Konekcija) pa da ubacim u kod koji si zadnji napisao
ili kako vec
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2654



+73 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom16.01.2015. u 00:04 - pre 74 meseci
Dao sam ti primer kako mozes bilo koju petlju da vremenski ograničiš. Dakle, taj primer treba da iskombinuješ sa tvojom procedurom (petljom), otprilike kao dole.
BTW koristi code tagove za pisanje koda, olakšavaju praćenje.

Code:

  StartTime := Now;
  repeat
  try
    DM1.UniConnection1.Connected:=true;
  except
    on e: EUNIError do
     begin
       Sleep(100);
     end;
   end;
until DM1.UniConnection1.Connected or (SecondsBetween(Now, StartTime) > 30);


 
Odgovor na temu

XGhost

Član broj: 33279
Poruke: 313
*.pppoe2223.bih.net.ba.



+18 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom16.01.2015. u 12:05 - pre 74 meseci
Ne prihvata mi SecondsBetween
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2654



+73 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom16.01.2015. u 12:27 - pre 74 meseci
Koju grešku dobijaš? Proveri u kom je unitu definisana funkcija i da li ga imaš u uses listi.
 
Odgovor na temu

XGhost

Član broj: 33279
Poruke: 313
*.pppoe2223.bih.net.ba.



+18 Profil

icon Re: Spajanje na bazu sa sporim serverom ili sporom internet vezom16.01.2015. u 12:33 - pre 74 meseci
Undeclared identifier:'SecondsBetween'
Rijeseno treba dodati u uses DateUtils

[Ovu poruku je menjao XGhost dana 16.01.2015. u 13:48 GMT+1]
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Spajanje na bazu sa sporim serverom ili sporom internet vezom

[ Pregleda: 3686 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.