[Linq] Query over meerdere servers

Pagina: 1
Acties:

Onderwerpen


  • Mg-02
  • Registratie: Oktober 2005
  • Laatst online: 28-09-2023
Ik zit met een probleem. Ik wil een gridview vullen met data uit twee verschillende database allebei op een andere server.
Kan dit?

Het is een materiaal tabel met daarin
ID
Naam
Leverancier_ID

en een leverancier tabel Met daarin
ID
Naam
Adres

Nu wil ik dus tonen in de gridview van elk materiaal de leverancier.

Ik heb geprobeerd met twee verschillende datacontexten, maar deze kan je niet joinen.
Ik heb het geprobeerd om ze eerst de data op te halen en daarna te joinen, maar dit lukte ook niet.
Heeft iemand enig idee wat ik moet doen?


Bedankt,
Maarten

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
AFAIK kun je met LINQ geen cross-database, laat staan cross-server, queries doen. Wat je wel zou kunnen doen is je query in een stored procedure stoppen en daar met LINQ tegen aan stampen.

Zie ook http://www.develop-one.ne...CrossDatabaseQueries.aspx (hoewel ik hier iets vind dat er wel op lijkt (min of meer) te doen wat je wil maar zo op 't oog is dat een ranzige workaround).

[ Voor 44% gewijzigd door RobIII op 20-11-2008 17:56 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Of in de ene database views naar de tabellen in de andere database aanleggen. Dan hoef je met LINQ alleen maar die 1e database aan te spreken.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op donderdag 20 november 2008 @ 17:58:
Of in de ene database views naar de tabellen in de andere database aanleggen. Dan hoef je met LINQ alleen maar die 1e database aan te spreken.
D'oh. Dat ik daar niet aan gedacht heb :X Dat kan natuurlijk ook en is (IMHO) nog mooier ook.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Met LINQ moet het wel kunnen, je beperking ligt waarschijnlijk in LINQ to Sql.

Je zou natuurlijk gewoon de data met 2 queries ( en connections ) op kunnen halen en dan in een .NET collection kunnen stoppen. Daarna kun je die gewoon met LINQ queryen.

Als je het toch graag met LINQ to SQL wilt doen kun je inderdaad aan de oplossing van Afterlife denken.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Mg-02
  • Registratie: Oktober 2005
  • Laatst online: 28-09-2023
AfterLive bedankt voor je oplossing,
Ik heb het geprobeerd en het ziet er erg netjes uit.

Ik had toen nog een probleem met de database naam. Om een of andere reden bestond de naam uit cijfers en toen kon ik daar geen view naar maken.
door om de database naam [] te plaatsen lukte het wel.
Misschien basic voor sommige, maar als je het nog niet eerder gedaan hebt kost het veel tijd voordat je er achter bent.

Bedankt voor de reacties

Maarten

Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
RobIII schreef op donderdag 20 november 2008 @ 17:49:
AFAIK kun je met LINQ geen cross-database, laat staan cross-server, queries doen. Wat je wel zou kunnen doen is je query in een stored procedure stoppen en daar met LINQ tegen aan stampen.
Niet met Linq to Sql maar wel met andere Linq providers ;)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com

Pagina: 1