En las partes anteriores:
En esta parte, hablaremos sobre cómo crear una lista de objetos que se muestran en el árbol de navegación.
Como estándar, seleccionamos 4 tipos de objetos básicos
- Mesas
- Representación
- Funciones
- Procedimientos.
Además, cada base de datos tiene sus propios objetos para almacenar entidades, por ejemplo:
- MS SQL: almacena datos en sys.schemas, donde están separados por tipo (tipo = 'V' - Vista, tipo = 'U' - tablas)
- Oracle - todo es bastante simple aquí - hay objetos user_views y user_tables que almacenan una descripción de la configuración de usuario correspondiente
- Vertica: v_catalog.views y v_catalog.tables
- PostegreSQL - pg_catalog.pg_views y pg_catalog.pg_tables
- MySQL - information_schema.views y information_schema.tables
- DB2: todos los datos se almacenan en SYSIBM.tables donde table_type = 'VIEW' son vistas y table_type = 'BASE TABLE' son tablas.
- ClickHouse todos los objetos están en system.tables, la división en tablas y vistas se produce en el campo engine = 'Ver'
Esta variedad es administrada por la clase in2SqlLibrary, en la que sucede:
- determinar el tipo de conexión ODBC, según el nombre del archivo del controlador (getDBType)
- distribución de tablas (getSqlTables) y vistas (getSqlViews) según los tipos correspondientes.
Para agilizar la carga del plugin de Excel (addin), se accede a estos datos en el momento de expandir la rama del artefacto correspondiente (de esto hablaré en otro artículo).