[ dogriz @ 11.10.2006. 09:33 ] @
Kako mogu da sastavljam upite nad podacima koji se nalaze u npr. dve različite baze (preko ISQL-a)?

Znači, treba mi npr.
- select podataka iz tabele1 u bazeA i tabele2 koja je u baziB uz postavljanje nekih uslova,
- update ili insert podataka u tabeli1 u baziA, podacima iz nekog upita u podatke bazeB
...

Ovo mi nije problem da uradim u Delphi-u, ali mi ne treba to, ne znam kako da odradim posao direktno preko SQL-a (iz npr. ISQL-a, IBExperta, IBOConsole...)
[ delalt @ 11.10.2006. 18:52 ] @
Pogledaj linkove, možda ti pomogne (IBEBlock, EXECUTE IBEBLOCK):

http://tinyurl.com/fozt9
http://tinyurl.com/l59hb
http://tinyurl.com/zth4r

Ako baš moraš tako da radiš, sa različitim bazama, bolje je da koristiš nešto drugo (Oracle, MS SQL, DB2...).
Možeš li pobliže da objasniš šta ti praktično treba da uradiš (gdje su ti baze, da li su različite tabele koje spajaš...,
možda bolje odgovara da radiš export i import podataka)?


[Ovu poruku je menjao delalt dana 11.10.2006. u 20:49 GMT+1]
[ dogriz @ 12.10.2006. 10:28 ] @
Radi se o dve firebird baze, oba .fdb fajla su na istoj mašini, a što se tiče tabela, mogu da budu iste ili različite, u zavisnosti od potrebe.

IBEBlok je prilično komplikovan koliko sam video i ako je to jedino rešenje, radiću kao do sada - praviti privremenu tabelu u jednoj bazi i popuniti je podacima iz tabele iz druge baze, pa onda postavljati upite samo nad jednom bazom. Osim toga, na IBExpert sajtu kaže i "applicable only in IBExpert or IBEScript (excluding the free versions of these products)", a ja imam free verziju IBExperta...
[ delalt @ 12.10.2006. 14:58 ] @
Ako su ti obije baze na istoj mašini, zašto ih jednostavno ne spojiš u jednu. Ako imaš tabele sa istom strukturom
i baš hoćeš da podaci ostanu u odvojenim tabelama, samo drugačije imenuj tabele i problem je riješen.
Ovo pod pretpostavkom da ti čitavo vrijeme trebaju obije baze.
Ako samo povremeno treba da iz jedne baze dopuniš podatke u drugu, koju recimo doneseš sa drugog računara,
pa kopiraš na tu mašinu, onda koristi export i import podataka, uz zadate uslove (ne svih).
Pogledaj pod "external file".

Pogledaj malo na google i "linked servers" ili "federated database".
[ dogriz @ 16.10.2006. 10:59 ] @
Nešto sam se ponadao da će moći jednostavno kao npr. kod MySQL-a:

Code:

select BazaA.Tabela1.PoljeX, BazaB.Tabela2.PoljeY
from BazaA.Tabela1, BazaB.Tabela2
where  ...


ali očigledno ne ide tako...

U svakom slučaju hvala na odgovorima.
[ mbabuskov @ 25.11.2006. 18:31 ] @
Citat:
delalt:
Ako samo povremeno treba da iz jedne baze dopuniš podatke u drugu, koju recimo doneseš sa drugog računara,
pa kopiraš na tu mašinu, onda koristi export i import podataka, uz zadate uslove (ne svih).
Pogledaj pod "external file".

Pogledaj malo na google i "linked servers" ili "federated database".


Firebird ne podrzava "linked servers"mada ako si jako uporan mozes mozda uzeti i registrovati 2 firebird baze u MSSQLu kao linked servers pa raditi cross-database upit na taj nacin. U svakom slucaju, daleko od jednostavnog resenja.

Sto se tice "external tables", Firebirdova implementacija ima problema sa NULL vrednostima i sa BLOB podacima, tako da je za prepumpavanje podataka boje koristiti neki specijalizovani alat tipa IBDataPump, FBExport ili FBCopy.

Ako ti je bas jako bitno da budu odvojene baze, a treba da su podaci sinhronizovani, mozda najbolje da napravis neku replikaciju.

Inace, slazem se: najbolje je spojiti sve u jednu bazu i gotovo.
[ delalt @ 25.11.2006. 22:40 ] @
Citat:
mbabuskov: Firebird ne podrzava "linked servers"mada ako si jako uporan mozes mozda uzeti i registrovati 2 firebird baze u MSSQLu kao linked servers pa raditi cross-database upit na taj nacin. U svakom slucaju, daleko od jednostavnog resenja...

Da, tu sam malo ostao nedorečen, to sam se mislio nadovezati na moju raniju preporuku:
Citat:
delalt: ...Ako baš moraš tako da radiš, sa različitim bazama, bolje je da koristiš nešto drugo (Oracle, MS SQL, DB2...)...

Citat:
delalt: Pogledaj malo na google i "linked servers" ili "federated database".

Znači, odabrati nešto drugo, ako već ne može sve u jednoj bazi.
[ dogriz @ 27.11.2006. 10:11 ] @
Snalazim se tako što exportujem podatke iz jedne baze, pa kreiram nove tabele u drugoj bazi i onda importujem podatke. To mi je još najprostije rešenje i završava ceo posao.

Hvala još jednom