Estoy extrayendo con éxito definiciones de columna de bases de datos alojadas en un servidor SQL utilizando la OpenSchema()
llamada de conexión ADO en sus diversas encarnaciones para poder recrear esas tablas mediante programación en otra base de datos SQL. Hasta ahora tan bueno.
La interacción principal con las tablas anteriores ocurre usando múltiples vistas; si bien OpenSchema()
puede devolver las definiciones de columna para la vista de la misma manera que devuelve las definiciones de columna para una tabla, falta un poco de información crucial: a qué tabla y columna de las tablas subyacentes se asigna la columna de la vista.
Intenté acceder al comando SQL utilizado para crear la vista usando Vistas de catálogo ADOX, pero parece que el controlador OLEDB para SQL Server que estamos usando no admite esta funcionalidad.
¿Hay alguna forma de obtener esta información para la configuración de la vista a través de ADO, ya sea de una manera que indique "ColumnX se asigna a ColumnY en la tabla Z" o en la forma del comando SQL real utilizado para crear la vista?
select m.definition from sys.sql_modules m where m.object_id = object_id('dbo.MyView', 'V')