Penemuan Jenis Parameter Bernilai Tabel

Berlaku untuk: SQL Server (semua versi yang didukung) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Konsumen-yaitu, aplikasi klien yang menggunakan Penyedia SQL Server Native Client OLE DB-dapat menemukan jenis setiap parameter perintah jika teks perintah telah diberikan kepada Penyedia OLE DB. Setelah jenis parameter bernilai tabel diketahui, konsumen dapat menemukan informasi metadata untuk setiap kolom individual dari parameter bernilai tabel.

Informasi jenis parameter prosedur didukung oleh ICommandWithParameters::GetParameterInfo untuk sebagian besar jenis parameter. Dimulai dengan SQL Server 2005 (9.x), dengan pengenalan jenis yang ditentukan pengguna dan jenis data xml, metode GetParameterInfo tidak cukup untuk tujuan ini karena tidak mungkin untuk memberikan informasi jenis yang ditentukan pengguna (nama, skema, dan katalog) melalui ICommandWithParameters. Antarmuka baru, ISSCommandWithParameters, didefinisikan untuk memberikan informasi jenis yang diperluas.

Untuk parameter bernilai tabel, Anda juga menggunakan antarmuka ISSCommandWithParameters untuk menemukan informasi terperinci. Klien memanggil ISSCommandWithParameters::GetParameterInfo setelah menyiapkan objek perintah. Untuk parameter bernilai tabel, anggota wType dari struktur DBPARAMINFO diatur ke DBTYPE_TABLE oleh penyedia. Bidang ulParamSize dari struktur DBPARAMINFO memiliki nilai ~0.

Konsumen kemudian akan meminta properti tambahan (nama katalog jenis parameter bernilai tabel, nama skema jenis parameter bernilai tabel, nama jenis parameter bernilai tabel, pengurutan kolom, dan kolom default) dengan menggunakan ISSCommandWithParameters::GetParameterProperties.

Setelah nama jenis diketahui, untuk mengambil informasi kolom individual, konsumen harus memanggil IOpenRowset::OpenRowsetor mendapatkan kumpulan baris DBSCHEMA_TABLE_TYPE_COLUMNS dengan menentukan nama jenis parameter bernilai tabel sebagai nama tabel.

Lihat juga

Parameter Bernilai Tabel (OLE DB)
Menggunakan Parameter Table-Valued (OLE DB)