Seyrek sütunlar desteği (ole db)
Bu konu hakkında bilgi verir SQL Serverseyrek sütunlar için yerel istemci ole db desteği. Seyrek sütunları hakkında daha fazla bilgi için bkz: SQL Server yerel istemci seyrek sütunlar desteği. Bir örnek için bkz: Seyrek sütunları (ole db) sütun ve Kataloğu meta veri görüntüleme.
ole db deyimi meta verileri
İle başlayan SQL Server 2008, yeni dbcolumnflags bayrak değeri, DBCOLUMNFLAGS_SS_ISCOLUMNSET, mevcuttur. Bu değeri olan sütunlar için ayarlanmalıdır column_setdeğerler. dbcolumnflags bayrak üzerinden alınabilir dwFlagsparametresi IColumnsInfo::GetColumnsInfove tarafından döndürülen satır kümesi dbcolumn_flags sütun IColumnsRowset::GetColumnsRowset.
ole db Kataloğu meta veri
İki ek SQL Server-belirli sütun dbschema_columns için eklenmiştir.
Sütun adı |
Veri türü |
Değer/yorum |
---|---|---|
SS_IS_SPARSE |
DBTYPE_BOOL |
Sütun seyrek sütun ise, bu değer varıant_true vardır; Aksi halde, VARIANT_FALSE. |
SS_IS_COLUMN_SET |
DBTYPE_BOOL |
Sütun seyrek ise column_setsütununda, bu değer varıant_true; var Aksi halde, VARIANT_FALSE. |
İki ek şema satır kümeleri de eklenmiştir. Bu satır kümeleri dbschema_columns aynı yapısını var ama farklı içerik dönmek. dbschema_columns_extended döner bakılmaksızın tüm sütunları column_setüyelik. dbschema_sparse_column_set yalnızca üyeleri seyrek sütunlar döndürür column_set.
ole db DataTypeCompatibility davranışı
Davranış ile DataTypeCompatibility=80(bağlantı dizesinde) ile uyumlu olan bir SQL Server 2000istemcisi, aşağıdaki gibi:
Yeni şema satır kümeleri görünür değildir ve onlar için hiçbir satır şema satır kümeleri satır kümesi vardır.
Yeni SÜTUNSAY satırkümesi sütunlarda görünmez.
DBCOLUMNFLAGS_SS_ISCOLUMNSET için ayarlı değil column_setsütun.
dbcomputemode_notcomputed için ayarlanır column_setsütun.
Seyrek sütunlar için ole db desteği
Aşağıdaki ole db arabirimleri olarak değiştirilen SQL Serveryerel istemci seyrek sütunlar destek için:
Türü veya üye işlevi |
Açıklama |
---|---|
IColumnsInfo::GetColumnsInfo |
Yeni dbcolumnflags DBCOLUMNFLAGS_SS_ISCOLUMNSET için ayarlanmış değer bayrak column_setsütun dwFlags. DBCOLUMNFLAGS_WRITE için ayarlanır column_setsütun. |
IColumsRowset::GetColumnsRowset |
Yeni dbcolumnflags bayrak değeri, DBCOLUMNFLAGS_SS_ISCOLUMNSET, ayarlanır column_setsütunları DBCOLUMN_FLAGS. dbcolumn_computemode için DBCOMPUTEMODE_DYNAMIC ayarlanır column_setsütun. |
IDBSchemaRowset::GetSchemaRowset |
İki yeni sütun dbschema_columns döndürür: SS_IS_COLUMN_SET ve SS_IS_SPARSE. dbschema_columns döndürür üye olmayan sütunlar bir column_set. İki yeni şema satır kümeleri eklendi: dbschema_columns_extended döndürür zayıflığına bakılmaksızın tüm sütunları column_setüyelik. dbschema_sparse_column_set üyeleri olan sütunlar döndürür bir column_set. Bu yeni satır kümeleri aynı sütun kısıtlamaları dbschema_columns sahip. |
IDBSchemaRowset::GetSchemas |
IDBSchemaRowset::GetSchemasYeni satır kümeleri dbschema_columns_extended ve dbschema_sparse_column_set GUID'lerini kullanılabilir şema satır kümeleri listesinde içerir. |
ICommand::Execute |
Eğer select * from tableise kullanılan, seyrek üyesi olan tüm sütunlar döndürür column_set, artı seyrek üyesi olan tüm boş olmayan sütunları değerleri içeren bir xml sütun column_set, varsa. |
IOpenRowset::OpenRowset |
IOpenRowset::OpenRowsetaynı sütunları olan bir satır kümesi döndürür ICommand::Execute, ile a select *aynı tablo sorgusu. |
ITableDefinition |
Bu arabirime veya seyrek sütunlar için herhangi bir değişiklik olmaz column_setsütun. Şema değişiklikleri yapmak zorunda uygulamaları uygun yürütmek gerekir Transact-SQLdoğrudan. |