Saya berhasil mengekstrak definisi kolom dari database yang dihosting di server SQL menggunakan OpenSchema()
panggilan ADO Connection dalam berbagai inkarnasinya sehingga saya dapat membuat ulang tabel tersebut secara terprogram di database SQL lain. Sejauh ini bagus.
Interaksi utama dengan tabel di atas terjadi menggunakan beberapa tampilan; sementara OpenSchema()
dapat mengembalikan definisi kolom untuk tampilan dengan cara yang sama seperti mengembalikan definisi kolom untuk tabel, ada sedikit informasi penting yang hilang - tabel dan kolom mana di tabel yang mendasari kolom dalam tampilan peta.
Saya mencoba mengakses perintah SQL yang digunakan untuk membuat tampilan menggunakan Tampilan Katalog ADOX, tetapi tampaknya driver OLEDB untuk SQL Server yang kami gunakan tidak mendukung fungsi ini.
Apakah ada cara untuk mendapatkan informasi ini untuk konfigurasi tampilan melalui ADO, baik dengan cara yang menyatakan "ColumnX memetakan ke KolomY di tabel Z" atau dalam bentuk perintah SQL sebenarnya yang digunakan untuk membuat tampilan?
select m.definition from sys.sql_modules m where m.object_id = object_id('dbo.MyView', 'V')