Udostępnij za pośrednictwem


Obsługa rozrzedzenia kolumny (OLE DB)

Ten temat zawiera informacje na temat SQL Server Macierzysta obsługa klient OLE DB dla kolumny rozrzedzone. Aby uzyskać więcej informacji na temat rozrzedzone kolumn zobacz Rzadkie obsługa kolumny w programie SQL Server Native klient.

Metadane instrukcja OLE DB

Zaczyna się od SQL Server 2008, nowa wartość flagi DBCOLUMNFLAGS, DBCOLUMNFLAGS_SS_ISCOLUMNSET, jest dostępny. Wartość ta powinna być zestaw dla kolumn, które są column_set wartości. Flaga DBCOLUMNFLAGS mogą być pobierane za pośrednictwem dwFlags Parametr IColumnsInfo::GetColumnsInfo a kolumna DBCOLUMN_FLAGS zestawu zestaw wierszy zwracanych przez IColumnsRowset::GetColumnsRowset.

Metadane katalogu DB OLE

Dwa dodatkowe SQL Server-kolumny zostały dodane do DBSCHEMA_COLUMNS.

Nazwa kolumna

Typ danych

Wartość/komentarzy

SS_IS_SPARSE

DBTYPE_BOOL

Jeżeli kolumna jest kolumna rozrzedzona, to ma wartość VARIANT_TRUE; w przeciwnym wypadku VARIANT_FALSE.

SS_IS_COLUMN_SET

DBTYPE_BOOL

Jeżeli kolumna jest sparse column_set Kolumna ta ma wartość VARIANT_TRUE; w przeciwnym wypadku VARIANT_FALSE.

Dodano także dwa dodatkowe schematu zestawów wierszy.Te zestawy wierszy mają taką samą strukturę jak DBSCHEMA_COLUMNS, lecz zwracają innej zawartości.Wszystkie kolumny bez względu na to zwraca DBSCHEMA_COLUMNS_EXTENDED column_set członkostwo. DBSCHEMA_SPARSE_COLUMN_SET zwraca tylko kolumny, które są członkami sparse column_set.

Zachowanie DataTypeCompatibility OLE DB

Zachowanie w przypadku DataTypeCompatibility=80 (w ciąg połączenia) jest zgodna z SQL Server 2000 Klient w następujący sposób:

  • Nowych zestawów zestaw wierszy schematu nie są widoczne, a nie zestaw wierszy ich w zestawie zestaw wierszy zestawów zestaw wierszy schematu.

  • Nowe kolumny w zestawie zestaw wierszy COLUMNS nie są widoczne.

  • DBCOLUMNFLAGS_SS_ISCOLUMN zestaw nie zestaw dla column_set kolumny.

  • Jest DBCOMPUTEMODE_NOTCOMPUTED zestaw dla column_set kolumny.

Obsługa baz danych OLE dla kolumny odstępem

Zmodyfikowano następujące interfejsy OLE DB SQL Server Klient macierzystego do obsługi rozrzedzone kolumny:

Funkcja typu lub element członkowski członkowski

Description

IColumnsInfo::GetColumnsInfo

Nowe flagi DBCOLUMNFLAGS wartość DBCOLUMNFLAGS_SS_ISCOLUMN zestaw jest zestaw dla column_set kolumny dwFlags.

Jest DBCOLUMNFLAGS_WRITE zestaw dla column_set kolumny.

IColumsRowset::GetColumnsRowset

Nowa wartość flagi DBCOLUMNFLAGS, DBCOLUMNFLAGS_SS_ISCOLUMN zestaw, jest zestaw dla column_set kolumny w DBCOLUMN_FLAGS.

Jest DBCOLUMN_COMPUTEMODE zestaw do DBCOMPUTEMODE_DYNAMIC dla column_set kolumny.

IDBSchemaRowset::GetSchemaRowset

DBSCHEMA_COLUMNS zwraca dwa nowe kolumny: SS_IS_COLUMN_SET i SS_IS_SPARSE.

DBSCHEMA_COLUMNS zwraca tylko kolumny, które nie są członkami column_set.

Dodano dwa zestawy wierszy nowego schematu: DBSCHEMA_COLUMNS_EXTENDED spowoduje zwrócenie wszystkich kolumn, niezależnie od sparseness column_set członkostwo. DBSCHEMA_SPARSE_COLUMN_SET zwraca tylko kolumny, które są członkami column_set. Tych nowych zestawów wierszy ma te same kolumny i ograniczeń jako DBSCHEMA_COLUMNS.

IDBSchemaRowset::GetSchemas

IDBSchemaRowset::GetSchemas zawiera identyfikatory GUID dla nowych wierszy DBSCHEMA_COLUMNS_EXTENDED i DBSCHEMA_SPARSE_COLUMN_SET na liście dostępnych schematów zestawów wierszy.

ICommand::Execute

Jeśli select * from table jest używana, zwraca wszystkie kolumna, które nie są członkami sparse column_set, oraz kolumna XML zawierający wartości wszystkich kolumn niż null, będących członkami sparse column_set, jeśli jest obecna.

IOpenRowset::OpenRowset

IOpenRowset::OpenRowset Zwraca zestawu zestaw wierszy z tych samych kolumn jak ICommand::Execute, z select * kwerendy dla tej samej tabela.

ITableDefinition

Nie ma zmian do tego interfejs, dla kolumny rozrzedzone lub column_set kolumny. Aplikacje, które trzeba wprowadzać modyfikacje schematu należy wykonać odpowiednie Transact-SQL bezpośrednio.