Seyrek sütunlar desteği (ole db)
Bu konu hakkında bilgi verir SQL Server yerel istemci ole db destek seyrek sütunları.Seyrek sütunları hakkında daha fazla bilgi için bkz: SQL Server yerel istemcisi seyrek sütunlar desteği.
ole db tablo meta verileri
İle başlayan SQL Server 2008, yeni bir dbcolumnflags bayrak değeri, DBCOLUMNFLAGS_SS_ISCOLUMNSET, kullanıma hazır.Bu değer olan sütunlar için küme olması column_set değerler.dbcolumnflags bayrak üzerinden alınan dwFlags parametresi IColumnsInfo::GetColumnsInfo ve 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ütunları eklendi dbschema_columns.
Sütun adı |
Veri türü |
Değer/yorumlar |
---|---|---|
SS_IS_SPARSE |
DBTYPE_BOOL |
Sütun seyrek sütun ise, bunun üzerine yazılmasına değeri vardır; Aksi takdirde, VARIANT_FALSE. |
SS_IS_COLUMN_SET |
DBTYPE_BOOL |
Seyrek sütun ise column_set sütunu, bunun üzerine yazılmasına; değerli Aksi takdirde, VARIANT_FALSE. |
İki ek şema satır kümeleri de eklendi.Bu satır kümeleri olarak dbschema_columns aynı yapıya sahip, ancak farklı içerik dönmek.dbschema_columns_extended ne olursa olsun tüm sütunlar döndürür column_set Üyelik.dbschema_sparse_column_set üyesi seyrek sütunlar döndürür column_set.
ole db DataTypeCompatibility davranışı
Davranış ile DataTypeCompatibility=80 (bağlantı dize) ile tutarlı bir SQL Server 2000 istemcisi, aşağıdaki gibi:
Yeni Şema Satır kümeleri görülebilir ve bunlar için hiçbir satır, şema satır kümeleri satır kümesi vardır.
Yeni sütun satır kümesi sütunlarda görünmez.
DBCOLUMNFLAGS_SS_ISCOLUMNküme değil küme için column_set sütunlar.
dbcomputemode_notcomputed için küme column_set sütunlar.
Seyrek sütunlar için ole db destek
İçinde aşağıdaki ole db arabirimleri değiştirildi SQL Server Native Client seyrek sütunlar desteği:
Türü veya üye işlev |
Açıklama |
---|---|
IColumnsInfo::GetColumnsInfo |
Yeni dbcolumnflags bayrak DBCOLUMNFLAGS_SS_ISCOLUMNSET için küme değer column_set sütunlarında dwFlags. DBCOLUMNFLAGS_WRITE için küme column_set sütunlar. |
IColumsRowset::GetColumnsRowset |
İçin küme yeni bir dbcolumnflags bayrak değeri, DBCOLUMNFLAGS_SS_ISCOLUMNSET, column_set sütunlarında dbcolumn_flags. dbcolumn_computemode olan küme için DBCOMPUTEMODE_DYNAMIC için column_set sütunlar. |
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. Eklenen iki yeni şema satır kümeleri: dbschema_columns_extended, sparseness ne olursa olsun tüm sütunlar döndürür column_set Üyelik.dbschema_sparse_column_set üyeleri olan sütunlar döndürür bir column_set.Bu yeni satır kümeleri dbschema_columns aynı sütunlara ve kısıtlamaları vardır. |
IDBSchemaRowset::GetSchemas |
IDBSchemaRowset::GetSchemas için yeni satır kümeleri dbschema_columns_extended ve dbschema_sparse_column_set GUID'lerini kullanılabilir şema satır kümeleri listesini içerir. |
ICommand::Execute |
If select * from table is used, it returns all columns that are not members of the sparse column_set, plus an XML column that contains values of all non-null columns that are members of the sparse column_set, if present. |
IOpenRowset::OpenRowset |
IOpenRowset::OpenRowsetaynı sütun içeren bir satır kümesi döndürür ICommand::Execute, ile bir select * sorgu aynı tablo. |
ITableDefinition |
Bu değişiklik olmaz arabirim veya seyrek sütun için column_set sütunlar.Şema değişiklikleri yapmak zorunda uygulamaları uygun yürütmek gerekir Transact-SQL doğrudan. |