OpenSchema()
さまざまなインカネーションでADOConnection呼び出しを使用して、SQLサーバーでホストされているデータベースから列定義を正常に抽出しているので、それらのテーブルを別のSQLデータベースにプログラムで再作成できます。ここまでは順調ですね。
上記のテーブルとの主な相互作用は、複数のビューを使用して行われます。一方でOpenSchema()
、それは表の列定義を返すのと同じ方法でビューの列定義を返すことができる、情報の重要なビットが欠落している-ビュー内の列がマップ基本となるテーブルのどのテーブルと列。
ADOXカタログビューを使用してビューを作成するために使用されるSQLコマンドにアクセスしようとしましたが、使用しているSQLServerのOLEDBドライバーがこの機能をサポートしていないようです。
「ColumnXはテーブルZのColumnYにマップされます」という方法で、またはビューの作成に使用される実際のSQLコマンドの形式で、ADOを介してビュー構成のこの情報を取得する方法はありますか?
select m.definition from sys.sql_modules m where m.object_id = object_id('dbo.MyView', 'V')