Wstawianie danych do oródwierszową parametrów
SQL Server Macierzystego klienta dostawca OLE DB obsługuje dwa modele dla konsumenta do określenia danych dla tabela wartości parametru wierszy: model wypychanie i model ściągać.Przykład demonstrujący model ściągać jest dostępna; see Zagadnienia dotyczące instalowania przykładów i przykładowych baz danych programu SQL Server.
Ostrzeżenie
A tabela-wyceniane parametru kolumna musi mieć inne niż domyślne wartości we wszystkich wierszach albo wartości domyślne wszystkich wierszy.Nie jest możliwe wartości domyślne w niektóre wiersze, a innych nie.Dlatego w tabela-wyceniane parameter bindings dozwolone wartości stanu tylko dla tabela-danych kolumny zestawu zestaw wierszy parametr wyceniane są DBSTATUS_S_ISNULL i DBSTATUS_S_OK.DBSTATUS_S_DEFAULT spowoduje błąd i będzie wartość stanu związany zestaw do DBSTATUS_E_BADSTATUS.
Replikacja wypychana modelu (ładuje oródwierszową Paremeter dane w pamięci)
Model wypychanie przypomina korzystanie z zestawów parametrów (czyli parametru DBPARAMS w ICommand::Execute).Model wypychanie jest używane, jeśli tabela-obiekty zestaw wierszy parametr wyceniane są używane bez wykonania dostosowane IRowset interfejsów.Model wypychanie jest zalecane, gdy liczba zestaw wierszy w tabela-zestaw wierszy parametr wyceniane jest niewielka, a nie oczekuje się umieszczanie pamięci nadmierne ciśnienie w aplikacji.Jest to prostsze niż model ściągać, ponieważ nie wymaga więcej funkcji z aplikacji konsumenta niż obecnie często w typowych aplikacji OLE DB.
Konsument oczekuje się dostarczyć danych parametru wartościami przechowywanymi w tabela dostawca przed wykonaniem polecenia.Aby dostarczyć dane, wypełnia konsumenta tabela-wyceniane parametr obiektu zestawu zestaw wierszy dla każdego tabela-parametr wycenione.tabela-Parametr wyceniane zestaw wierszy obiektu umożliwia uzyskanie dostępu zestaw wierszy wstawić zestawu i Usuń operacji, które konsument będzie używać do manipulowania tabela-wycenione danych parametru.Dostawca będzie pobierać dane z tego parametru oródwierszową obiektu zestawu zestaw wierszy na wykonanie czas.
Gdy tabela-obiekt zestawu zestaw wierszy parametr wyceniane jest warunkiem konsumentowi, konsument może przetwarzać je jako obiekt zestawu zestaw wierszy.Konsument można uzyskać informacji o typie każdej kolumna (typ, maksymalnej długości, precyzji i skali) przy użyciu IColumnsInfo::GetColumnInfo lub IColumnsRowset::GetColumnsRowset Metoda interfejs.Konsument tworzy następnie metoda dostępu określenie powiązania danych.Następnym krokiem jest wstawianie zestaw wierszy danych do tabela-parametr wyceniane zestawu zestaw wierszy.This can be done by using IRowsetChange::InsertRow.IRowsetChange::SetData or IRowsetChange::DeleteRows can also be used on the table-valued parameter rowset object if you have to manipulate the data.Parametr oródwierszową zestaw wierszy obiekty są zliczane podobnych obiektów strumienia odniesienia.
Jeśli IColumnsRowset::GetColumnsRowset jest używana, będzie wezwań do IRowset::GetNextRows, IRowset::GetData, i IRowset::ReleaseRows metody obiektu zestawu zestaw wierszy wynikowy kolumna.
Po SQL Server macierzystego klienta dostawcy OLE DB rozpoczyna wykonywanie polecenia, tabela-wartości parametrów wyceniane będą pobierane z tej tabela-wycenione parametr obiektu zestawu zestaw wierszy i wysyłane do serwera.
Model wypychanie wymaga minimalnej pracy przez konsumenta, ale wykorzystuje więcej pamięci niż model ściągać, ponieważ w pamięci na wykonanie wszystkich danych parametru oródwierszową czas.
Ściągnij Model (Uzyskiwanie oródwierszową danych parametru, na żądanie od konsumenta)
Model ściągać jest przydatne dla dwóch scenariuszy:
Wiersze strumienia.
Jeśli jest używany zestaw wierszy od innego dostawca jako tabela-wycenione w wartości parametru.
W modelu ściągać konsumentowi udostępnia dane na żądanie do dostawca.Tej metody należy użyć, jeśli aplikacja ma wiele wstawienia danych, i tabela-parametr wyceniane zestaw wierszy danych w pamięci spowodowałoby nadmierne pamięci dostępu.W przypadku wielu dostawców OLE DB konsumenta ściągania modelu umożliwia konsumentowi podać dowolny obiekt zestawu zestaw wierszy jako tabela-wycenione w wartości parametru.
Aby użyć modelu ściągać, konsumenci mają zapewnić realizacji obiektu zestawu zestaw wierszy.Podczas korzystania z modelu ściągać z tabela-parametr wyceniane zestawów zestaw wierszy (CLSID_ROWSET_TVP), konsument jest wymagany do zagregowania tabela-obiekt zestawu zestaw wierszy wyceniane parametr, który dostawca udostępnia za pośrednictwem ITableDefinitionWithConstraints::CreateTableWithConstraints metoda lub IOpenRowset::OpenRowset metoda.Obiekt konsumenta tylko oczekuje się zastąpić implementacji interfejs IRowset.Należy zastąpić następujące funkcje:
IRowset::GetNextRows
IRowset::AddRefRows
IRowset::GetData
IRowset::ReleaseRows
IRowset::RestartPosition
SQL Server Macierzysta klienta dostawcy OLE DB odczyta jeden lub więcej zestaw wierszy w czas z obiektu zestawu zestaw wierszy konsumenta do obsługi zachowanie strumieniowych w parametrach oródwierszową.Na przykład, użytkownik może mieć tabela-wycenione parametr zestaw wierszy danych na dysku (nie w pamięci) i może implementować funkcji do odczytu danych z dysku, gdy jest to wymagane przez SQL Server macierzystego klienta OLE DB Provider.
Konsument przekaże jego format danych do SQL Server Macierzystego klienta dostawcy OLE DB przy użyciu IAccessor::CreateAccessor na tabela-wycenione parametr obiektu zestawu zestaw wierszy.Podczas odczytu danych z buforu konsumenta, dostawca sprawdza wszystkie kolumny zapisywalny i innych niż domyślne są dostępne za pośrednictwem co najmniej jeden metoda dostępu uchwyt i wykorzystuje odpowiednie uchwyty do odczytywania danych kolumn.Aby uniknąć niejednoznaczności, powinny być odpowiedniość między tabela-wycenione parametr zestaw wierszy kolumn i powiązanie.Zduplikowane powiązania do tej samej kolumna spowoduje błąd.Ponadto każdy metoda dostępu powinny mieć iOrdinal element członkowski DBBindings w sekwencji.Będzie tak wiele wywołań IRowset::GetData jako liczbę akcesorów w wierszu oraz kolejności wywołań będzie opierać kolejności iOrdinal wartość z niższych do wyższych wartości.
Dostawca oczekuje implementuje większość interfejsów udostępniane przez tabela-wyceniane parametr obiektu zestawu zestaw wierszy.Konsument wykona obiektu zestawu zestaw wierszy z minimalnym interfejsów (IRowset).Z powodu niewidomych agregacja, pozostałe interfejsy obiektu zestawu zestaw wierszy obowiązkowe będą wykonywane przez tabela-wyceniane parametr obiektu zestawu zestaw wierszy.
Dla zestaw wierszy obiektów, takich jak obiekty zestaw wierszy dla dostawca OLE DB dostarczone do konsumenta zestaw wierszy musi implementować wszystkich interfejsów obiektu obowiązkowe zestaw wierszy jak określono w specyfikacji OLE DB.
W czas wykonania, SQL Server macierzystego klienta dostawcy OLE DB będzie oddzwonić do obiektu zestawu zestaw wierszy, aby pobrać wiersze i odczytać kolumna danych.