Share via


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.