J'extrais avec succès des définitions de colonnes à partir de bases de données hébergées sur un serveur SQL à l'aide de l' OpenSchema()
appel ADO Connection dans ses différentes incarnations afin de pouvoir recréer ces tables par programme dans une autre base de données SQL. Jusqu'ici tout va bien.
L'interaction principale avec les tableaux ci-dessus se produit en utilisant plusieurs vues; alors qu'il OpenSchema()
est capable de renvoyer les définitions de colonne pour la vue de la même manière qu'il renvoie les définitions de colonne pour une table, il manque une information cruciale - à quelle table et colonne dans les tables sous-jacentes la colonne de la vue correspond.
J'ai essayé d'accéder à la commande SQL utilisée pour créer la vue à l'aide des vues de catalogue ADOX, mais il semble que le pilote OLEDB pour SQL Server que nous utilisons ne prend pas en charge cette fonctionnalité.
Existe-t-il un moyen d'obtenir ces informations pour la configuration de la vue via ADO, soit d'une manière qui indique «ColumnX mappe à ColumnY dans la table Z» ou sous la forme de la commande SQL réelle utilisée pour créer la vue?
select m.definition from sys.sql_modules m where m.object_id = object_id('dbo.MyView', 'V')