ingsolv Skrevet 28. mars 2008 Skrevet 28. mars 2008 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.
Frank2004 Skrevet 28. mars 2008 Skrevet 28. mars 2008 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?
Manfred Skrevet 28. mars 2008 Skrevet 28. mars 2008 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 29. mars 2008 Skrevet 29. mars 2008 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
roac Skrevet 30. mars 2008 Skrevet 30. mars 2008 Man kan gjøre tilsvarende i MSSQL også: select * from server.database.schema.object
ingsolv Skrevet 31. mars 2008 Forfatter Skrevet 31. mars 2008 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'
siDDis Skrevet 1. april 2008 Skrevet 1. april 2008 Huff, ser ut som nokon har surra det skikkeleg til når det gjelder database design.
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå