[SQL, Visual Basic for Applications] in2sql: Работаем с разнообразием ODBC источников

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
16-Июл-2020 02:30

Продолжаю серию рассказов о OpenSource разработке In2sql, которая визуализирует объекты SQL для выгрузки данных в Excel (по сути это серия статей — документация к разработке).
В предыдущих частях:

В данной части поговорим о том, как создается список объектов, которые выводятся в навигационное дерево.

Стандартно, выделяем 4 типа основных объектов
  • Таблицы
  • Представления
  • Функции
  • Процедуры.

Так же каждая БД имеет свои объекты для хранения сущностей — например:
  • MS SQL — хранит данные в sys.schemas, где они разделены по типам (type = 'V' — View,type = 'U' — таблицы)
  • Oracle — здесь все достаточно просто — есть объекты user_views и user_tables, которые хранят описание соответствующих настроек пользователя
  • Vertica — v_catalog.views и v_catalog.tables
  • PostegreSQL — pg_catalog.pg_views и pg_catalog.pg_tables
  • MySQL — information_schema.views и information_schema.tables
  • DB2 — все данные хранятся в SYSIBM.tables, где table_type = 'VIEW' — это представления, а table_type = 'BASE TABLE' — это таблицы.
  • ClickHouse все объекты лежат в system.tables, разделение на таблицы и view происходит по полю engine = 'View'

Этим многообразием управляет класс in2SqlLibrary, в котором происходит:
  • определение типа ODBC подключения, на основании имени файла драйвера (getDBType)
  • раздача таблиц (getSqlTables) и представлений (getSqlViews) по соответствующим типам.

Для того что бы ускорить загрузку excel плагина (addin) к этим данным происходит обращение в момент раскрытия ветки соответствующего артефакта (об этом расскажу в другой статье).
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_sql, #_visual_basic_for_applications, #_odbc, #_excel_addin, #_sql, #_oracle, #_db2, #_postgresql, #_clickhouse, #_vertica, #_sql, #_visual_basic_for_applications
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 16:11
Часовой пояс: UTC + 5