Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Ferndatenzugriff und Arbeit mit Massendaten » Auf entfernte Daten zugreifen

 

Entfernte Tabellen verknüpfen

In der folgenden Abbildung werden Proxytabellen auf einem lokalen Datenbankserver gezeigt, die den entfernten Tabellen "Employees" und "Departments" der SQL Anywhere-Beispieldatenbank auf dem Fremdserver "RemoteSA" zugeordnet wurden.

Die entfernten Tabellen und Proxytabellen sind zugeordnet.

Sie können Joins zwischen Tabellen in unterschiedlichen SQL Anywhere-Datenbanken benutzen. Im folgenden, einfachen Beispiel wird zur Verdeutlichung des Prinzips nur eine Datenbank benutzt.

♦  So führen Sie einen Join zwischen zwei entfernten Tabellen aus (SQL)
  1. Erstellen Sie eine neue Datenbank namens empty.db.

    Diese Datenbank enthält keine Daten. Sie wird lediglich benutzt, um die entfernten Objekte zu definieren und um auf die SQL Anywhere-Beispieldatenbank zuzugreifen.

  2. Starten Sie den Datenbankserver, der auf dem empty.db ausgeführt wird. Sie können dies mit der folgenden Befehlszeile durchführen:

    dbeng11 empty
  3. Stellen Sie in Interactive SQL als DBA-Benutzer eine Verbindung zu empty.db her.

  4. Erstellen Sie in der neuen Datenbank einen Fremdserver namens "RemoteSA". Dessen Serverklasse ist "saodbc", und die Verbindungszeichenfolge bezieht sich auf die DSN SQL Anywhere 11 Demo:

    CREATE SERVER RemoteSA
    CLASS 'saodbc'
    USING 'SQL Anywhere 11 Demo';
  5. In diesem Beispiel wird in der entfernten Datenbank dieselbe Benutzer-ID und das gleiche Kennwort wie in der lokalen Datenbank verwendet, sodass keine externen Logins erforderlich sind.

    In einigen Fällen müssen Sie eine Benutzer-ID und ein Kennwort angeben, wenn Sie eine Verbindung zur Datenbank auf dem Fremdserver herstellen. In der neuen Datenbank können Sie ein externes Login zum Fremdserver erstellen. Um das Beispiel zu vereinfachen, wird DBA hier sowohl als lokaler Loginname als auch als ID des Benutzers auf dem Fremdserver benutzt:

    CREATE EXTERNLOGIN DBA
    TO RemoteSA
    REMOTE LOGIN DBA
    IDENTIFIED BY sql;
  6. Definieren Sie die Proxytabelle "p_Employees":

    CREATE EXISTING TABLE p_Employees
    AT 'RemoteSA..GROUPO.Employees';
  7. Definieren Sie die Proxytabelle "p_Departments":

    CREATE EXISTING TABLE p_Departments
    AT 'RemoteSA..GROUPO.Departments';
  8. Benutzen Sie die Proxytabellen in der SELECT-Anweisung, um den Join auszuführen.

    SELECT GivenName, Surname, DepartmentName
    FROM p_Employees JOIN p_Departments
    ON p_Employees.DepartmentID = p_Departments.DepartmentID
    ORDER BY Surname;