Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
System Platform Analitycznych (PDW)
Baza danych SQL w Microsoft Fabric
Ten temat zawiera informacje o sterowniku OLE DB Driver dla obsługi SQL Server dla kolumn rzadkich. Więcej informacji o kolumnach rzadkich można znaleźć w artykule Obsługa rzadkich kolumn w sterowniku OLE DB dla SQL Server. Przykład, zobacz Display Column and Catalog Metadata for Sparse Columns (OLE DB).
Metadane oświadczenia OLE DB
Począwszy od SQL Server 2008 (10.0.x), dostępna jest nowa flaga DBCOLUMNFLAGS, DBCOLUMNFLAGS_SS_ISCOLUMNSET. Ta wartość powinna być ustawiona dla kolumn column_set wartości. Flagę DBCOLUMNFLAGS można pobrać za pomocą parametru dwFlags w IColumnsInfo::GetColumnsInfo oraz kolumny DBCOLUMN_FLAGS wiersza zwróconej przez IColumnsRowset::GetColumnsRowset.
Metadane katalogu OLE DB
Do DBSCHEMA_COLUMNS dodano dwie dodatkowe kolumny specyficzne dla SQL Server.
| Nazwa kolumny | Typ danych | Wartuł/komentarze |
|---|---|---|
| SS_IS_SPARSE | DBTYPE_BOOL | Jeśli kolumna jest rzadką, ma wartość VARIANT_TRUE; w przeciwnym razie VARIANT_FALSE. |
| SS_IS_COLUMN_SET | DBTYPE_BOOL | Jeśli kolumna jest kolumną rzadkiej column_set , ma wartość VARIANT_TRUE; w przeciwnym razie VARIANT_FALSE. |
Dodano także dwa dodatkowe zestawy wierszy schematów. Te zestawy wierszy mają tę samą strukturę co DBSCHEMA_COLUMNS ale zwracają inną treść. DBSCHEMA_COLUMNS_EXTENDED zwraca wszystkie kolumny niezależnie od column_set członkostwa. DBSCHEMA_SPARSE_COLUMN_SET zwraca tylko kolumny będące członkami rzadkiego column_set.
Zachowanie zgodności typu danych OLE DB
Zachowanie DataTypeCompatibility=80 (w ciągu połączeń) jest zgodne z klientem SQL Server 2000 (8.x), w następujący sposób:
Nowe zbiory wierszy schematu nie są widoczne i nie ma dla nich wierszy w zbiorze wierszy schematu.
Nowe kolumny w zbiorze wierszy COLUMNS nie są widoczne.
DBCOLUMNFLAGS_SS_ISCOLUMNSET nie jest ustawione dla column_set kolumn.
DBCOMPUTEMODE_NOTCOMPUTED jest ustawione dla column_set kolumn.
Wsparcie OLE DB dla rzadkich kolumn
Następujące interfejsy OLE DB zostały zmodyfikowane w sterowniku OLE DB dla SQL Server, aby obsługiwać rzadkie kolumny:
| Funkcja typu lub członka | Description |
|---|---|
| IColumnsInfo::GetColumnsInfo | Nowa wartość flagi DBCOLUMNFLAGS DBCOLUMNFLAGS_SS_ISCOLUMNSET jest ustawiona dla column_set kolumn w dwFlags. DBCOLUMNFLAGS_WRITE jest ustawiony dla column_set kolumn. |
| IColumnsRowset::GetColumnsRowset | Nowa wartość flagi DBCOLUMNFLAGS, DBCOLUMNFLAGS_SS_ISCOLUMNSET, jest ustawiana dla column_set kolumn w DBCOLUMN_FLAGS. DBCOLUMN_COMPUTEMODE jest ustawiony na DBCOMPUTEMODE_DYNAMIC dla column_set kolumn. |
| IDBSchemaRowset::GetSchemaRowset | DBSCHEMA_COLUMNS zwraca dwie 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 nowe zestawy wierszy schematu: DBSCHEMA_COLUMNS_EXTENDED zwróci wszystkie kolumny niezależnie od rzadkości column_set członkostw. DBSCHEMA_SPARSE_COLUMN_SET zwraca tylko kolumny będące członkami column_set. Te nowe zestawy wierszy mają te same kolumny i ograniczenia co DBSCHEMA_COLUMNS. |
| IDBSchemaRowset::GetSchemas | IDBSchemaRowset::GetSchemas zawiera GUIDy dla nowych zestawów wierszowych DBSCHEMA_COLUMNS_EXTENDED i DBSCHEMA_SPARSE_COLUMN_SET w liście dostępnych zestawów wierszy schematów. |
| ICommand::Wykonaj | Jeśli zastosuje się select * ztabeli , zwraca wszystkie kolumny, które nie są członkami column_set rzadkiej, plus kolumnę XML zawierającą wartości wszystkich kolumn nie-null, które są członkami rzadkiego column_set, jeśli są obecne. |
| IOpenRowset::OpenRowset | IOpenRowset::OpenRowset zwraca zestaw wierszy z tymi samymi kolumnami co ICommand::Execute, z zapytaniem select * w tej samej tabeli. |
| ITableDefinition | Nie ma zmiany w tym interfejsie dla kolumn rzadkich ani dla kolumn column_set . Aplikacje, które muszą wprowadzać modyfikacje schematu, muszą bezpośrednio wykonać odpowiednie Transact-SQL. |
Zobacz też
sterownik OLE DB dla programowania programu SQL Server