Dukungan Kolom Jarang (OLE DB)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Topik ini menyediakan informasi tentang Driver OLE DB untuk dukungan SQL Server untuk kolom jarang. Untuk informasi selengkapnya tentang kolom jarang, lihat Dukungan Kolom Jarang di Driver OLE DB untuk SQL Server. Untuk sampel, lihat Kolom Tampilan dan Metadata Katalog untuk Kolom Jarang (OLE DB).
Metadata Pernyataan OLE DB
Dimulai dengan SQL Server 2008 (10.0.x), nilai bendera DBCOLUMNFLAGS baru, DBCOLUMNFLAGS_SS_ISCOLUMNSET, tersedia. Nilai ini harus diatur untuk kolom yang column_set nilai. Bendera DBCOLUMNFLAGS dapat diambil melalui parameter dwFlags IColumnsInfo::GetColumnsInfo dan kolom DBCOLUMN_FLAGS set baris yang dikembalikan oleh IColumnsRowset::GetColumnsRowset.
Metadata Katalog OLE DB
Dua kolom khusus SQL Server tambahan telah ditambahkan ke DBSCHEMA_COLUMNS.
Nama kolom | Jenis Data | Nilai/komentar |
---|---|---|
SS_IS_SPARSE | DBTYPE_BOOL | Jika kolom adalah kolom jarang, kolom ini memiliki nilai VARIANT_TRUE; jika tidak, VARIANT_FALSE. |
SS_IS_COLUMN_SET | DBTYPE_BOOL | Jika kolom adalah kolom column_set jarang, kolom ini memiliki nilai VARIANT_TRUE; jika tidak, VARIANT_FALSE. |
Dua kumpulan baris skema tambahan juga telah ditambahkan. Kumpulan baris ini memiliki struktur yang sama dengan DBSCHEMA_COLUMNS tetapi mengembalikan konten yang berbeda. DBSCHEMA_COLUMNS_EXTENDED mengembalikan semua kolom terlepas dari keanggotaan column_set . DBSCHEMA_SPARSE_COLUMN_SET hanya mengembalikan kolom yang merupakan anggota column_set jarang.
Perilaku DataTypeCompatibility OLE DB
Perilaku dengan DataTypeCompatibility=80 (dalam string koneksi) konsisten dengan klien SQL Server 2000 (8.x), sebagai berikut:
Kumpulan baris skema baru tidak terlihat, dan tidak ada baris untuknya dalam kumpulan baris set baris skema.
Kolom baru dalam set baris KOLOM tidak terlihat.
DBCOLUMNFLAGS_SS_ISCOLUMNSET tidak diatur untuk kolom column_set .
DBCOMPUTEMODE_NOTCOMPUTED diatur untuk kolom column_set .
Dukungan OLE DB untuk Kolom Jarang
Antarmuka OLE DB berikut dimodifikasi di Driver OLE DB untuk SQL Server untuk mendukung kolom jarang:
Jenis atau fungsi anggota | Deskripsi |
---|---|
IColumnsInfo::GetColumnsInfo | Nilai bendera DBCOLUMNFLAGS baru DBCOLUMNFLAGS_SS_ISCOLUMNSET diatur untuk kolom column_set di dwFlags. DBCOLUMNFLAGS_WRITE diatur untuk kolom column_set . |
IColumsRowset::GetColumnsRowset | Nilai bendera DBCOLUMNFLAGS baru, DBCOLUMNFLAGS_SS_ISCOLUMNSET, diatur untuk kolom column_set di DBCOLUMN_FLAGS. DBCOLUMN_COMPUTEMODE diatur ke DBCOMPUTEMODE_DYNAMIC untuk kolom column_set . |
IDBSchemaRowset::GetSchemaRowset | DBSCHEMA_COLUMNS mengembalikan dua kolom baru: SS_IS_COLUMN_SET dan SS_IS_SPARSE. DBSCHEMA_COLUMNS hanya mengembalikan kolom yang bukan anggota column_set. Dua kumpulan baris skema baru telah ditambahkan: DBSCHEMA_COLUMNS_EXTENDED akan mengembalikan semua kolom terlepas dari jarangnya keanggotaan column_set . DBSCHEMA_SPARSE_COLUMN_SET hanya mengembalikan kolom yang merupakan anggota column_set. Kumpulan baris baru ini memiliki kolom dan batasan yang sama dengan DBSCHEMA_COLUMNS. |
IDBSchemaRowset::GetSchemas | IDBSchemaRowset::GetSchemas menyertakan GUID untuk kumpulan baris baru DBSCHEMA_COLUMNS_EXTENDED dan DBSCHEMA_SPARSE_COLUMN_SET dalam daftar set baris skema yang tersedia. |
ICommand::Execute | Jika pilih * dari tabel digunakan, kolom tersebut mengembalikan semua kolom yang bukan anggota column_set jarang, ditambah kolom XML yang berisi nilai semua kolom non-null yang merupakan anggota column_set jarang, jika ada. |
IOpenRowset::OpenRowset | IOpenRowset::OpenRowset mengembalikan set baris dengan kolom yang sama dengan ICommand::Execute, dengan kueri pilih * pada tabel yang sama. |
ITableDefinition | Tidak ada perubahan pada antarmuka ini untuk kolom jarang atau untuk kolom column_set . Aplikasi yang harus membuat modifikasi skema harus menjalankan Transact-SQL yang sesuai secara langsung. |