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. |