Я успешно извлекаю определения столбцов из баз данных, размещенных на сервере 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')