in2sql: Trabajar con una variedad de fuentes ODBC

Continúo con una serie de historias sobre el desarrollo OpenSource In2sql , que visualiza objetos SQL para exportar datos a Excel (de hecho, esta es una serie de artículos - documentación para el desarrollo)



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.



imagen



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).



All Articles