clientdataset update

Dbase, sql, paradox in vse drugo kar se tiče baz.
krnekej
Prispevkov: 17
Pridružen: 05.03.2005 21:14:57

clientdataset update

OdgovorNapisal/-a krnekej » 23.01.2015 19:28:54

Pozdravljeni,

imam aplikacijo z firebird bazo do katere dostopam preko adoconnectin>adoquery. Zadeva deluje. Do sedaj je bila uporaba samo na eni mašini, sedaj pa je želja da se uredi dostop več mašin do baze preko mreže (lan). Če pustim tako kot je je zadeva izredno počasna (sploh master/detail) in dela prevelik promet po mreži.

Zadevo probam usposobit z clientdataset (prvič delam s tem) in deluje vendar je problem pri refrešanju podatkov. Če ena mašina spremeni podatek se sprememba vidi v bazi, vendar ne na drugi mašini. Na drugi maši se vidi šele ko se aplikacija zapre in ponovno odpre. Probal tudi cds.refresh vendar ne prenese spremembe, prav tako ne deluje cds.close in nato cds.open ravno tako nič. Pojma nima zakaj. Kako drugi to rešite?

Silver_War
Prispevkov: 662
Pridružen: 01.06.2004 14:50:41

Re: clientdataset update

OdgovorNapisal/-a Silver_War » 24.01.2015 14:38:31

krnekej napisal/-a:Če ena mašina spremeni podatek se sprememba vidi v bazi, vendar ne na drugi mašini. Na drugi maši se vidi šele ko se aplikacija zapre in ponovno odpre.


A ima mogoče vsaka mašina svojo lokalno kopijo baze?
Dobro bi bilo, da malo bolje opišeš, kako imaš to sedaj implementirano, da lažje vidimo, kje delaš napako. Sedaj lahko bolj ali ne samo ugibamo.

krnekej
Prispevkov: 17
Pridružen: 05.03.2005 21:14:57

Re: clientdataset update

OdgovorNapisal/-a krnekej » 24.01.2015 22:54:42

ok
Torej imam mašino PC1 kjer je aplikacija in baza (firebird), potem imam mašino PC2 kjer je samo aplikacija in dostopa do baze na PC1 preko ODBC.
Na PC1 in PC2 odprem aplikacijo. Če podatek v bazi spremenim na PC2 potem to spremembo vidim na PC2 na PC1 pa ne. Če aplikacijo na PC1 zaprem in odprem se potem vidi sprememba.
Povezano je ADOCONNECTION>ADOQUERY>DATASETPROVIDER>CLIENTDATASET>DATASOURCE>DBGRID.

Ena možnost je da če dam ADOQUERY>ACTIVE=FALSE potem zadeva dela in se podatki osvežijo z CLIENTDATASET.REFRESH na PC1 ali PC2 odvisno kje je sprememba v bazi vendar ne vem če je to prav.


Vrni se na

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 4 gostov