Benutzer mit den meisten Antworten
Abfragestring über 2 verschiedene Datenbanken mit unterschiedlichen Zugangsberechtigungen

Frage
-
Hallo,
bin mir nicht ganz sicher ob ich im richtigen Forum gelandet bin.
Ich brauche einen Abfragestring für C#.
Aufgabenstellung:
Ich habe 2 Datenbanken jeweils auf 2 Servern.
Die Tabellen in diesen Datenbanken sind "Verknüpft" (ohne Forreignkey).
Kann ich mit einem Abfragestring die 2 Datenbanken(Tabellen) miteinander verknüpfen(Inner join) oder
muß ich da einfach 2 einzelne Abfragen erstellen?
Grüße
Antworten
-
Hallo!
Wenn Du auf einem der beiden Server einen Verbindungsserver einrichten würdest, könntest Du über OPENQUERY die Tabellen joinen.Du könntest auch eine View anlegen, die (gekapselt) über OPENQUERY den Zugriff auf die andere Datenbank realisiert. Dann wäre der JOIN einfacher.
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu- Als Antwort markiert sleepy007 Mittwoch, 13. August 2014 07:07
-
Ich gehe jetzt mal davon aus, dass Dir die Online-Doku zum Verbindungsserver geholfen hat.
Jetzt noch Openquery:
http://msdn.microsoft.com/de-de/library/ms188427(v=sql.110).aspxSieht dann im Prinzip so aus:
Select <Felder> from <lokale Tabelle> a inner join Openquery(<Verbindungsserver> , 'Select <Felder> from <externe Tabelle> Where ...') b on a.PK = b.PK Where ...
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu- Als Antwort markiert sleepy007 Mittwoch, 13. August 2014 07:07
Alle Antworten
-
Hallo!
Wenn Du auf einem der beiden Server einen Verbindungsserver einrichten würdest, könntest Du über OPENQUERY die Tabellen joinen.Du könntest auch eine View anlegen, die (gekapselt) über OPENQUERY den Zugriff auf die andere Datenbank realisiert. Dann wäre der JOIN einfacher.
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu- Als Antwort markiert sleepy007 Mittwoch, 13. August 2014 07:07
-
Hallo,
wie funktioniert so ein Verbindungsserver, wie richte ich das ein?
Grüße
bzw.
http://msdn.microsoft.com/de-de/library/ff772782.aspx#SSMSProcedure
und wie erstelle ich nun einen OPENQUERY?
- Bearbeitet sleepy007 Mittwoch, 13. August 2014 06:08
-
Ich gehe jetzt mal davon aus, dass Dir die Online-Doku zum Verbindungsserver geholfen hat.
Jetzt noch Openquery:
http://msdn.microsoft.com/de-de/library/ms188427(v=sql.110).aspxSieht dann im Prinzip so aus:
Select <Felder> from <lokale Tabelle> a inner join Openquery(<Verbindungsserver> , 'Select <Felder> from <externe Tabelle> Where ...') b on a.PK = b.PK Where ...
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu- Als Antwort markiert sleepy007 Mittwoch, 13. August 2014 07:07
-
Das mit den Büchern ist nicht so einfach, da SQL Server ein weites Feld ist.
Reine Bücher zu T-SQL Grundlagen sollten sich bestimmt irgendwo finden lassen, wobei hier auch vielleicht SQL Grundlagen generell hilfreich sein könnten, da sich die verschiedenen Datenbanksysteme erst in spezielleren Anweisungen unterscheiden. Falls Du auch englischsprachige Literatur nehmen willst, wird es deutlich einfacher.
Auf die schnelle gefunden habe ich das hier:
http://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_InhaltsverzeichnisAnsonsten kann ich nur den Besuch eines T-SQL Kurses beim Anbieter Deines Vertrauens empfehlen. Oder immer mal wieder im Forum mitlesen und Lösungen suchen. Das übt ungemein!
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu