Ich extrahiere erfolgreich Spaltendefinitionen aus Datenbanken, die auf einem SQL Server gehostet werden, indem OpenSchema()
ich den ADO Connection- Aufruf in seinen verschiedenen Inkarnationen verwende, damit ich diese Tabellen programmgesteuert in einer anderen SQL-Datenbank neu erstellen kann. So weit, ist es gut.
Die Hauptinteraktion mit den obigen Tabellen erfolgt über mehrere Ansichten. Während OpenSchema()
die Spaltendefinitionen für die Ansicht auf dieselbe Weise zurückgegeben werden können wie die Spaltendefinitionen für eine Tabelle, fehlen wichtige Informationen - welcher Tabelle und Spalte in den zugrunde liegenden Tabellen die Spalte in der Ansicht zugeordnet ist.
Ich habe versucht, auf den SQL-Befehl zuzugreifen, der zum Erstellen der Ansicht mit ADOX-Katalogansichten verwendet wurde, aber es scheint, dass der von uns verwendete OLEDB-Treiber für SQL Server diese Funktionalität nicht unterstützt.
Gibt es eine Möglichkeit, diese Informationen für die Ansichtskonfiguration über ADO abzurufen, entweder so, dass "ColumnX in Spalte Z ColumnY zugeordnet ist" oder in Form des tatsächlichen SQL-Befehls, der zum Erstellen der Ansicht verwendet wird?
select m.definition from sys.sql_modules m where m.object_id = object_id('dbo.MyView', 'V')