none
Abfragestring über 2 verschiedene Datenbanken mit unterschiedlichen Zugangsberechtigungen RRS feed

  • 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

    Dienstag, 12. August 2014 09:41

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
    Dienstag, 12. August 2014 10:09
  • 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).aspx

    Sieht 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
    Mittwoch, 13. August 2014 06:29

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
    Dienstag, 12. August 2014 10:09
  • 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
    Mittwoch, 13. August 2014 05:28
  • 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).aspx

    Sieht 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
    Mittwoch, 13. August 2014 06:29
  • Jep, danke schön.

    Hätte allerdings noch die Frage nach einem geeigneten Buch (am besten als Kurs, wo man anhand von Beispielen lernt, bin kein Theoriebüffler).

    Grüße

    Mittwoch, 13. August 2014 07:11
  • 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:_Inhaltsverzeichnis

    Ansonsten 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

    Mittwoch, 13. August 2014 13:13