Udostępnij za pośrednictwem


Tworzenie zestawu zestaw wierszy parametr Valued tabela

Chociaż konsumentów może być dowolny obiekt zestawu wierszy do wartości w tabela parametrów, typowy zestaw wierszy obiekty są implementowane dla danych typu back-end i dlatego mają ograniczoną wydajność.Z tego powodu SQL Server Macierzysty klient OLE DB dostawca umożliwia konsumentom utworzyć obiekt wyspecjalizowane zestawu zestaw wierszy w górnej części danych w pamięci. Ten obiekt zestawu zestaw wierszy specjalnych, znajdującej się w pamięci jest nowy obiekt COM o nazwie zestawu zestaw wierszy parametru wartości w tabela.Znajdują się w nim funkcje podobne do zestawów parametrów.

Parametr wycenione tabela zestaw wierszy obiekty są tworzone jawnie przez konsumenta dla parametrów wejściowych przez wiele interfejsów poziom sesja.Nie ma jedno wystąpienie obiektu zestaw wierszy wycenione tabela parametru dla parametru wartości w tabela.Konsument mogą tworzyć parametru wartości w tabela zestaw wierszy obiekty przez podanie informacji metadane, które jest już znany (scenariusz statyczne) lub przez odnajdowanie go za pomocą dostawca interfejsów (scenariusz dynamiczne).W poniższych sekcjach opisano te dwa scenariusze.

Scenariusz statyczne

Gdy informacje o typie jest znany, korzysta z konsumenta ITableDefinitionWithConstraints::CreateTableWithConstraints Uruchamianie obiektu zestawu zestaw wierszy parametr wycenione tabela odpowiadającego parametru wartości w tabela.

The guid pole (pTableID parameter) contains the special GUID (CLSID_ROWSET_TVP). The pwszName element członkowski contains the name of the tabela-valued parameter type that the consumer wants to instantiate. The eKind pole will be zestaw to DBKIND_GUID_NAME. Ta nazwa jest wymagana, jeśli w instrukcja jest SQL ad hoc; nazwa jest opcjonalne, jeśli jest on wywołania procedury.

Dla agregacja, konsument przekazuje pUnkOuter Parametr o sterowanie IUnknown.

Właściwości obiektu parametru wartości w tabela zestaw wierszy są tylko do odczytu, więc konsument nie powinien ustawiać właściwości rgPropertySets.

Dla rgPropertySets element członkowski członkowski każdej struktury DBCOLUMNDESC, konsument może określić dodatkowe właściwości dla każdej kolumna. Te właściwość należą do zestaw właściwość DBPROPSET_SQLSERVERCOLUMN.Umożliwiają one Podaj obliczone i ustawienia domyślne dla każdej kolumna.Obsługują one także istniejące właściwości kolumna, takie jak opcje dopuszczania wartości null i tożsamości.

Aby pobrać odpowiednie informacje z obiektu zestawu zestaw wierszy parametru wartości w tabela, używa konsumenta IRowsetInfo::GetProperties.

Służy do pobierania informacji o wartości null, unikatowe, obliczone, i zaktualizować stan wszystkich kolumn, do użytku konsumenta IColumnsRowset::GetColumnsRowset lub IColumnsInfo::GetColumnInfo. Te metody umożliwiają uzyskanie szczegółowych informacji na temat każdej z kolumn zestawu zestaw wierszy parametru wartości w tabela.

Konsument Określa typ każdej kolumna parametru wartości w tabela.To jest podobna do sposobu kolumn są określane podczas tworzenia tabela w SQL Server. Konsument pobiera obiekt zestawu zestaw wierszy wycenione tabela parametr od SQL Server Macierzystego dostawca klient OLE DB za pośrednictwem ppRowset wyjściowe parametru.

Scenariusz dynamiczne

Jeżeli konsument nie ma informacji o typie, należy użyć IOpenRowset::OpenRowset do utworzenia wystąpienia parametru wartości w tabela obiektów zestawu zestaw wierszy. Konsument musi dostarczyć do dostawca jest nazwa typu.

W tym scenariuszu dostawca pobiera typ informacji o obiekcie zestawu zestaw wierszy parametru wartości tabela z serwera dla konsumenta.

The pTableID and pUnkOuter parameters should be zestaw as in the static scenario. The SQL Server Native klient OLE DB dostawca then obtains the type information (kolumna information and constraints) from the server, and return a tabela-valued parameter zestaw wierszy object through the ppRowset parameter. Ta operacja wymaga komunikacji z serwerem i w związku z tym nie jest sprawdzana także scenariusz statyczne.Scenariusz dynamiczne działa tylko w przypadku wywołań procedur sparametryzowana.