in2sql: العمل مع مجموعة متنوعة من مصادر ODBC

أواصل سلسلة من القصص حول تطوير المصدر المفتوح لـ In2sql ، والذي يصور كائنات SQL لتصدير البيانات إلى Excel (في الواقع ، هذه سلسلة من المقالات - وثائق من أجل التطوير).



في الأجزاء السابقة:





في هذا الجزء ، سنتحدث عن كيفية إنشاء قائمة بالكائنات التي يتم عرضها في شجرة التنقل.



صورة



كمعيار ، نختار 4 أنواع من الكائنات الأساسية



  • الجداول
  • التمثيل
  • المهام
  • الإجراءات.


أيضًا ، تحتوي كل قاعدة بيانات على عناصرها الخاصة لتخزين الكيانات - على سبيل المثال:



  • MS SQL - يخزن البيانات في sys.schemas ، حيث يتم فصلها حسب النوع (النوع = 'V' - عرض ، اكتب = 'U' - جداول)
  • Oracle - كل شيء بسيط للغاية هنا - هناك كائنات user_views و user_tables تخزن وصفًا لإعدادات المستخدم المقابلة
  • Vertica - v_catalog.views و v_catalog.tables
  • PostegreSQL - pg_catalog.pg_views و pg_catalog.pg_tables
  • MySQL - آراء_مخطط_معلومات_جداول معلومات_مخطط
  • DB2 - يتم تخزين جميع البيانات في SYSIBM.tables حيث table_type = 'VIEW' عبارة عن مشاهدات و table_type = 'BASE TABLE' عبارة عن جداول.
  • ClickHouse جميع الكائنات موجودة في system.tables ، ويتم التقسيم إلى جداول وطرق عرض على المحرك = حقل "عرض"


تتم إدارة هذا المنوع بواسطة فئة in2SqlLibrary ، والتي يحدث فيها:



  • تحديد نوع اتصال ODBC ، بناءً على اسم ملف برنامج التشغيل (getDBType)
  • توزيع الجداول (getSqlTables) وطرق العرض (getSqlViews) حسب الأنواع المقابلة.


من أجل تسريع تحميل المكون الإضافي excel (addin) ، يتم الوصول إلى هذه البيانات في لحظة توسيع فرع الأداة المقابلة (سأتحدث عن هذا في مقال آخر).



All Articles