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 » Interne Vorgänge

 

Serverfunktionalität

Die folgenden Verarbeitungsschritte werden in allen Abfragen, also lokalen und entfernten, durchgeführt.

Welche Verfahrensschritte ausgeführt werden, hängt von der Art der SQL-Anweisung und der Funktionalität der jeweiligen Fremdserver ab.

In SQL Anywhere verfügt jeder Fremdserver über eine Reihe von Funktionalitäten, die für ihn definiert wurden. Diese Funktionalitäten werden in der Systemtabelle ISYSCAPABILITIES gespeichert und während der ersten Verbindung zu einem Fremdserver initialisiert.

Die allgemeine Serverklasse odbc verlässt sich bei der Ermittlung dieser Funktionalitäten strikt auf die Informationen, die vom ODBC-Treiber zurückgegeben werden. Andere Serverklassen wie db2odbc haben detailliertere Kenntnisse der Funktionalitäten eines Fremdservers und benutzen dieses Wissen, um die vom Server zurückgegebenen Ergebnisse zu ergänzen.

Wenn ein Server zu ISYSCAPABILITIES hinzugefügt wurde, werden die Informationen über die Funktionalitäten nur noch aus der Systemtabelle abgerufen.

Da ein Fremdserver möglicherweise nicht alle Funktionen einer bestimmten SQL-Anweisung unterstützt, schlüsselt SQL Anywhere die Anweisung in einfachere Komponenten auf, damit die Abfrage an den Fremdserver übermittelt werden kann. SQL-Funktionen, die nicht an einen Fremdserver weitergegeben wurden, müssen von SQL Anywhere selbst ausgewertet werden.

Beispiel: Eine Abfrage enthält eine ORDER BY-Anweisung. Wenn ein Fremdserver ORDER BY nicht verarbeiten kann, wird die Anweisung ohne die Klausel an den Fremdserver geschickt und SQL Anywhere führt die Funktion ORDER BY in der zurückgegebenen Ergebnismenge durch, bevor sie an den Benutzer weitergegeben wird. Daher kann der Benutzer alle von SQL Anywhere unterstützten SQL-Funktionen ohne Rücksicht auf die Fähigkeiten eines bestimmten Servers verwenden.