Gå til innhold

Henting av data fra mange databaser


Anbefalte innlegg

Skrevet

Jeg skal hente data fra ~10 databaser (alle på samme server) alle har samme tabell struktur. Kall de for db1, db2 osv.. Tabellen som skal velges fra heter artikkel, og eneste betingelse er at kolonnen plassering skal være lik start (f.eks. WHERE plassering = 'start').

 

Har prøvd å lage spørring uten hell, så hvis noen har forslag om hvordan det kan gjøres tas det imot med takk.

Videoannonse
Annonse
Skrevet
Jeg skal hente data fra ~10 databaser (alle på samme server) alle har samme tabell struktur. Kall de for db1, db2 osv.. Tabellen som skal velges fra heter artikkel, og eneste betingelse er at kolonnen plassering skal være lik start (f.eks. WHERE plassering = 'start').

 

Har prøvd å lage spørring uten hell, så hvis noen har forslag om hvordan det kan gjøres tas det imot med takk.

 

Støtte for spørringer mellom databaser er vel ikke særlig utbredt, men hvis du sier noe om hvilken rdbms dere bruker kan kanskje noen hjelpe deg med noe slikt.

 

Alternativet blir vel å kjøre en spørrring pr. db, og merge resultatene i applikasjonen som skal bruke/vise disse. Mulig dere egentlig burde hatt alt i en database?

Skrevet

Førsteinntrykket er vel at dette er ganske dårlig databasedesign, med mindre det er veldig gode grunner til at disse artiklene skal ligge i forskjellige databaser, når de tydeligvis skal brukes på samme side..

Skrevet

Så lenge du ikke forteller hvilken database det er snakk om, blir det vanskelig å hjelpe.

 

I Oracle kan man benytte seg av såkalte databaselinker, slik at man kan kjøre en select på denne måten:

 

select a from x@db1

 

Dette er en metode jeg aldri har benyttet i noen andre sammenhenger enn f.eks. konvertering av databaser.

 

Hva som finnes i andre RDBMS er jeg usikker på.

 

Hilsen Werner

Skrevet

Bruker MySQL, fant løsning på problemet:

SELECT *
 FROM db1.artikkel
WHERE plassering = 'start'
UNION ALL
SELECT *
 FROM db2.artikkel
WHERE plassering = 'start'
UNION ALL
SELECT *
 FROM db3.artikkel
WHERE plassering = 'start'

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...