Avatar billede diz Nybegynder
20. februar 2004 - 15:57 Der er 5 kommentarer og
1 løsning

SQL på to forskellige databaser

Hejsa,

Jeg har to databaser, som jeg connecter til vha følgende:

- en ADO connection
- en Datasource
- en ADO table

Det er fint nok, og jeg kan smide sql efter den osv. Men nu er det sådan at jeg vil lave et JOIN mellem de to tabeller, som ligger i hver deres databse.

Kan det lade sig gøre?

/Sune
Avatar billede diz Nybegynder
20. februar 2004 - 16:00 #1
det skal lige siges at der er en ADO connection, datasource og table for hver..
Avatar billede arne_v Ekspert
21. februar 2004 - 20:11 #2
Nej.

Du bliver nødt til at lave den "JOIN" i din kode og hente fra de 2 databaser
enkeltvist.
Avatar billede borrisholt Novice
22. februar 2004 - 08:58 #3
Jeg formoder du bruger SQL Server?

I bekræftende fald er det ikke ret svært. Så klasificerer du blot dine tabeller med to prikker.

Et ekspempel :
select top 10 * from [JB_Scheelsminde_20040119]..Customer (nolock)
union
select top 10 * from [JP_Sohojlandet_20040120]..Customer (nolock)

JB_Scheelsminde_20040119 og  JP_Sohojlandet_20040120 er to databaser der ligger på den samme server ... Man kan også selecte på tværs af servere .. Men den kan jeg ikke lige på fingerne !

Jens B
Avatar billede trer Nybegynder
22. februar 2004 - 23:34 #4
Så længe begge databaser er på SQL Server kan ovenstående godt benyttes, men rent performance mæssigt bør man ikke benytte .. men angive ejeren som dbo (eller hvad tabel-ejeren nu hedder).

Derudover - select på tværs af servere sker typisk ved at benytte funktione OPENDATASOURCE() eller OPENROWSET() eller også opretter man en LINKED SERVER og benytter samme strategi som ovenfor.

Minuset ved løsningen ovenfor er helt klart, at det forudsætter at det ene login har ret til at tilgå begge database / servere.

Er de to databaser på forskellige platforme (Access/SQL Server/Oracle/whatever) - så er arnes løsning den korrekte - og også den jeg ville vælge at implementere. Du burde kunne fake et join ved at sætte et filter op på dit join kriterie.
Avatar billede arne_v Ekspert
06. marts 2004 - 15:32 #5
diz ?
Avatar billede diz Nybegynder
07. marts 2004 - 09:13 #6
Ups, sorry for den sene accept. Well jeg endte med at lave det som arne foreslog med "join" i koden. Der var nemlig tale om 2 forskellige platforme (Excell og Access)

/Sune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester