[ Coder81 @ 15.09.2008. 18:21 ] @
Radim na jednom projektu, gde sada prvi put koristim dve konekcije zbog velicine projekta. Ustvari ja imam dva data modula i u svakom se koristi po jedna konekcija(TADOConnection).
Sada kada sam ja u drugom modulu i upotrebim komponentu TADOQuery u kojoj je napisan SQL string u kojem se ''spominju'' tabele iz prvog modula, prijavljuje error koji govori da je ta tabela iz prvog modula nepoznata, sto se i ocekuje, jer se komponenta TADOQuery vezuje za samo jednu konekciju.

Pitanje : Da li postoji nacin da query vidi tabele i iz prvog modula da ne bih morao sada sve tabele da stavim u jedan modul i fakticki da samim tim koristim samo jednu konekciju ?

Hvala unapred !
[ franjo_tahi @ 15.09.2008. 19:05 ] @
Vjerojatno su ti te dvije tablice u dvije različite baze? Ako je tako, ne postoji način (bar meni poznat) da ih kombiniraš u jedno SQL upitu.

Ja doduše radim s IBTDabaBase i TIBDataSet, ali bi princip trebao biti isti.

Koliko je to podataka i u kojoj bazi pa da ih moraš dijeliti u dvije odvojene? Koristim Firebird bazu, u kojoj imam 200-tinjak tablica, a ona najveća ima oko 2,000,000 zapisa i nema porebe da ju dijelim, mada se i to može: podijeliti fizički u dva (ili više) file-a, a da ostane ista baza.

[ Coder81 @ 16.09.2008. 14:57 ] @
Tako je, dve tablice u dve različite baze. Nije problem u broju slogova, mada projekat jeste veliki nego ja moram imam dve baze zato što postoje podaci koji se vide svuda u celom programu i koji se ne vide. Npr. kad ja radim sa podacima nekog partnera i setim se nove opštine koju moram da unesem, podatak o opštini je podatak koji kasnije može svuda da se vidi jer on je opšti podatak. Podela u dve baze je najbolje rešenje samo je sada pitanje kako da pozovem podatke iz druge baze u samome upitu. Neznam prijatelju koliko si me razumeo ali moram pronaći najbezbolnije rešenje jer sam već dosta zagazio u projekat. U svakom slučaju, hvala!
P.S. : Potrudiću se da svakako predjem na FireBird, koja je po meni vrh besplatnih baza.
[ savkic @ 16.09.2008. 17:12 ] @
> Tako je, dve tablice u dve različite baze. Nije problem u broju slogova, mada projekat jeste veliki nego ja moram imam dve baze zato što
> postoje podaci koji se vide svuda u celom programu i koji se ne vide.
> Podela u dve baze je najbolje rešenje samo je sada pitanje kako da pozovem podatke iz druge baze u samome upitu.

Da li možeš pisati multiDB upite zavisi od RDMBS koji koristiš takođe i sintaksa. FB npr. ne podržava upite nad više baza.
[ .:Marvin:. @ 17.09.2008. 14:45 ] @
Dok je recimo u MS SQL serveru moguce uzeti podatke iz vise baza. Koji RDBMS koristis?
[ Coder81 @ 17.09.2008. 15:40 ] @
Ja koristim MSAccess kao bazu, ako si me to pitao. Znači komponenta TADOQuery se kači na TADOConnection a ta komponenta se pomoću connection string-a (u kojem se MSDASQL koristi kao provajder), kači na bazu. To je sve.
[ Miloš Baić @ 18.09.2008. 07:27 ] @
Citat:
Coder81:Nije problem u broju slogova, mada projekat jeste veliki nego ja moram imam dve baze zato što postoje podaci koji se vide svuda u celom programu i koji se ne vide. Npr. kad ja radim sa podacima nekog partnera i setim se nove opštine koju moram da unesem, podatak o opštini je podatak koji kasnije može svuda da se vidi jer on je opšti podatak.

Šta te sprečava da u jednoj bazi imaš podatke koju si vidljivi u svakom momentu i podatke koji su vidljivi samo pod određenim uslovima!?!
Citat:
Coder81:Podela u dve baze je najbolje rešenje samo je sada pitanje kako da pozovem podatke iz druge baze u samome upitu. Neznam prijatelju koliko si me razumeo ali moram pronaći najbezbolnije rešenje jer sam već dosta zagazio u projekat.

Koliko sam shvatio u jednoj bazi čuvaš podatke koje mogu svi da vide a u drugoj samo podatke koje neki moduli programa će moći da vide!? Te sad ti nastaju problemi oko upita i pregleda podataka. Stoga imam protiv pitanje, da li su dve baze najbolje rešenje!?! Ovo pitam zato što nemamo dovoljno informacija o tvom projektu, te mi deluje da si ipak mogao sve smestiti u jednu bazu i sebe spasiti ovih muka.
[ Coder81 @ 19.09.2008. 10:36 ] @
U pravu si, postoji još jedna stvar koju vam nisam rekao (zaboravio sam, sorry).
Zapravo ono što je najkomplikovanije u celom projektu je to što se radi o kopiranju baza podataka. Znači ja imam jednu bazu u kojoj se nalaze opšti podaci i ona se nalazi na jednom mestu (te podatke mogu svi komitenti da vide). E sad. Kada otvoriš novog komitenta, program napravi nov folder, imenuje ga i sa odredjene lokacije iskopira praznu bazu u taj folder a zatim se konektuje na tu bazu. Zato bi meni najbolje rešenje bilo da koristim nešto kao što je heterogeni join. Ja ne znam kako da u samom upitu (heterogenom joinu), navedem putanju do baze, jer on se ne kači uvek za jednu istu bazu. Izgleda da heterogeni join ne radi kada je u pitanju Access a to je ubedljivo najelegantnije rešenje. Ja inače koristim LocalSQL.