Aracılığıyla paylaş


Seyrek sütunlar desteği (OLE DB)

Bu konu aşağıdakiler hakkında bilgi sağlar. SQL Server Istemci OLE DB desteği sparse sütunlar. Seyrek sütunları hakkında daha fazla bilgi için bkz: SQL Server yerel istemci sparse sütunlar desteği.

meta veriler OLE DB Ekstresi

Ile başlayan SQL Server 2008, yeni bir DBCOLUMNFLAGS bayrak değeri, DBCOLUMNFLAGS_SS_ISCOLUMNSET, kullanılabilir. Bu değer küme olan sütunlar için column_set Değerler. DBCOLUMNFLAGS bayrağı ile alınan dwFlags parametresi IColumnsInfo::GetColumnsInfo ve DBCOLUMN_FLAGS tarafından döndürülen satır kümesi kümesi kümesine sütun IColumnsRowset::GetColumnsRowset.

OLE DB Catalog meta veriler

Iki ek SQL Server-Belirli sütunları DBSCHEMA_COLUMNS için eklenmiştir.

Sütun adı

Veri türü

Değer/açıklamaları

ss_is_sparse

dbtype_bool

Sütun sparse sütun ise, bu değer VARIANT_TRUE sahiptir; aksi halde, VARIANT_FALSE.

ss_is_column_set

dbtype_bool

Sütun sparse ise column_set Bu sütun, VARIANT_TRUE değeri vardır; aksi halde, VARIANT_FALSE.

Iki ek şema Satır kümeleri de eklenmiştir.Bu satır kümeleri olarak DBSCHEMA_COLUMNS aynı yapıya sahip, ancak farklı içerik dönün.DBSCHEMA_COLUMNS_EXTENDED bakılmaksızın tüm sütunlar döndürür. column_set üyeliği. DBSCHEMA_SPARSE_COLUMN_SET the sparse üye sütunlar döndürür. column_set.

OLE DB DataTypeCompatibility davranışı

Davranışı ile DataTypeCompatibility=80 (bağlantı dizesinde) tutarlıdır bir SQL Server 2000 istemci aşağıdaki gibi:

  • Yeni şema Satır kümeleri görünmez ve Şema Satır kümeleri satır kümesi, bunlar için hiçbir satır yok.

  • SÜTUNSAY satır kümesi kümesi yeni sütunlarda görünmez.

  • DBCOLUMNFLAGS_SS_ISCOLUMN küme değil küme için column_set sütunlar.

  • DBCOMPUTEMODE_NOTCOMPUTED için küme column_set sütunlar.

Seyrek sütun için OLE DB desteği

Aşağıdaki OLE DB Arabirim olarak değiştirildi SQL Server Seyrek sütunları desteklemek üzere yerel (istemci):

Tür veya üye işlev

Açıklama

IColumnsInfo::GetColumnsInfo

Yeni bayrak DBCOLUMNFLAGS DBCOLUMNFLAGS_SS_ISCOLUMN değer küme olan küme için column_set sütun dwFlags.

DBCOLUMNFLAGS_WRITE için küme column_set sütunlar.

IColumsRowset::GetColumnsRowset

Yeni BIR DBCOLUMNFLAGS bayrak değeri, DBCOLUMNFLAGS_SS_ISCOLUMNSET, için küme column_set DBCOLUMN_FLAGS sütunlar.

DBCOLUMN_COMPUTEMODE DBCOMPUTEMODE_DYNAMIC için ayarlanmıştır column_set sütunlar.

IDBSchemaRowset::GetSchemaRowset

DBSCHEMA_COLUMNS iki yeni sütunlar döndürür: SS_IS_COLUMN_SET ve SS_IS_SPARSE.

Üyesi olmayan sütunları DBSCHEMA_COLUMNS işlevi bir column_set.

Iki yeni şema Satır kümeleri eklenmiştir: Sparseness ne olursa olsun, tüm sütunları DBSCHEMA_COLUMNS_EXTENDED döndürürcolumn_set üyeliği. Üye sütunları DBSCHEMA_SPARSE_COLUMN_SET döndürür bir column_set. Bu yeni bir satır kümeleri DBSCHEMA_COLUMNS, sütunlar ve kısıtlamaları vardır.

IDBSchemaRowset::GetSchemas

IDBSchemaRowset::GetSchemas Yeni Satır kümeleri DBSCHEMA_COLUMNS_EXTENDED ve DBSCHEMA_SPARSE_COLUMN_SET Guıd'lerini kullanılabilir şema Satır kümeleri listesini içerir.

ICommand::Execute

If select * from table olan kullanıldığında, the sparse üyesi olmayan tüm sütunlar döndürür column_set, artı değerleri sparse üyesi olan tüm null olmayan sütunları içeren bir XML sütun column_set, varsa.

IOpenRowset::OpenRowset

IOpenRowset::OpenRowset satır kümesi aynı sütun birlikte verir. ICommand::Execute, ile bir select * aynı tablo, sorgu.

ITableDefinition

Bu arabirim veya seyrek sütunlar için hiçbir değişiklik yok. column_set sütunlar. Şema değişiklikleri yapmak zorunda olan uygulamaları uygun yürütmelisiniz. Transact-SQL doğrudan.