Я успішно витягаю визначення стовпців із баз даних, розміщених на сервері SQL, використовуючи OpenSchema()
виклик ADO Connection у різних його втіленнях, щоб я міг програмно відтворити ці таблиці в іншій базі даних SQL. Все йде нормально.
Основна взаємодія з наведеними таблицями відбувається за допомогою декількох подань; хоча OpenSchema()
здатний повернути визначення стовпців для подання так само, як повертає визначення стовпців для таблиці, відсутній важливий біт інформації - до якої таблиці та стовпця в базових таблицях відображається стовпець у поданні.
Я намагався отримати доступ до команди SQL, яка використовується для створення подання, використовуючи представлення каталогу ADOX, але, схоже, драйвер OLEDB для SQL Server, який ми використовуємо, не підтримує цю функцію.
Чи є спосіб отримати цю інформацію для конфігурації подання за допомогою ADO, або таким чином, щоб зазначити "ColumnX відображається в ColumnY в таблиці Z", або у формі фактичної команди SQL, яка використовується для створення подання?
select m.definition from sys.sql_modules m where m.object_id = object_id('dbo.MyView', 'V')