Estou extraindo com êxito as definições de coluna de bancos de dados hospedados em um servidor SQL usando a OpenSchema()
chamada ADO Connection em suas várias encarnações, para que possa recriar programaticamente essas tabelas em outro banco de dados SQL. Por enquanto, tudo bem.
A principal interação com as tabelas acima ocorre usando múltiplas visualizações; embora OpenSchema()
seja capaz de retornar as definições de coluna para a visão da mesma maneira que retorna as definições de coluna para uma tabela, uma parte crucial de informação está faltando - para qual tabela e coluna nas tabelas subjacentes a coluna na visão mapeia.
Tentei acessar o comando SQL usado para criar a exibição usando ADOX Catalog Views, mas parece que o driver OLEDB para SQL Server que estamos usando não oferece suporte a essa funcionalidade.
Existe alguma maneira de obter essas informações para a configuração do modo de exibição por meio do ADO, seja de uma forma que indique "A coluna X mapeia para a coluna Y na tabela Z" ou na forma do comando SQL real usado para criar o modo de exibição?
select m.definition from sys.sql_modules m where m.object_id = object_id('dbo.MyView', 'V')