In den vorherigen Teilen:
In diesem Teil wird erläutert, wie Sie eine Liste der Objekte erstellen, die im Navigationsbaum angezeigt werden.
Standardmäßig wählen wir 4 Arten von Basisobjekten aus
- Tabellen
- Darstellung
- Funktionen
- Verfahren.
Außerdem verfügt jede Datenbank über eigene Objekte zum Speichern von Entitäten - zum Beispiel:
- MS SQL - speichert Daten in sys.schemas, wo sie nach Typ getrennt sind (Typ = 'V' - Ansicht, Typ = 'U' - Tabellen)
- Oracle - hier ist alles ganz einfach - es gibt user_views- und user_tables-Objekte, in denen eine Beschreibung der entsprechenden Benutzereinstellungen gespeichert ist
- Vertica - v_catalog.views und v_catalog.tables
- PostegreSQL - pg_catalog.pg_views und pg_catalog.pg_tables
- MySQL - information_schema.views und information_schema.tables
- DB2 - Alle Daten werden in SYSIBM.tables gespeichert, wobei table_type = 'VIEW' Ansichten und table_type = 'BASE TABLE' Tabellen sind.
- ClickHouse Alle Objekte befinden sich in system.tables. Die Unterteilung in Tabellen und Ansichten erfolgt im Feld engine = 'View'
Diese Mannigfaltigkeit wird von der in2SqlLibrary-Klasse verwaltet, in der Folgendes geschieht:
- Bestimmen des Typs der ODBC-Verbindung basierend auf dem Namen der Treiberdatei (getDBType)
- Verteilung von Tabellen (getSqlTables) und Ansichten (getSqlViews) nach den entsprechenden Typen.
Um das Laden des Excel-Plugins (Add-Ins) zu beschleunigen, wird auf diese Daten zum Zeitpunkt der Erweiterung des Zweigs des entsprechenden Artefakts zugegriffen (ich werde in einem anderen Artikel darauf eingehen).