Udostępnij przez


Aktualizowanie danych programu SQL Server kursory

Podczas pobierania i aktualizowania danych przy użyciu SQL Server kursory, SQL Server Powiązane aplikacji macierzystej konsumenta dostawca klient OLE DB przy tej samej uwagi i ograniczenia, które są stosowane do innych aplikacji klient.

Tylko wiersze SQL Server kursory uczestniczyć w formancie równoczesnych dostępu do danych. Gdy konsument żąda zestawu zestaw wierszy można modyfikować, formant współbieżność jest kontrolowana przez DBPROP_LOCKMODE.Aby zmienić poziom kontroli dostępu równoczesne, konsument ustawia właściwość DBPROP_LOCKMODE przed otwarciem zestawu zestaw wierszy.

Poziomów izolacji transakcji może spowodować znaczne lags pozycjonowania wiersza, jeżeli transakcje pozostają otwarte przez dłuższy czas projektowania aplikacji klient.Domyślnie SQL Server Macierzystego dostawca klient OLE DB używa określonej przez DBPROPVAL_TI_READCOMMITTED poziom izolacji popełnionych odczytu. The SQL Server Native klient OLE DB dostawca supports odczyt zanieczyszczony isolation when the zestaw wierszy współbieżność is read-only. Dlatego konsument może żądać wyższy poziom izolacji w zestawu zestaw wierszy można modyfikować, ale nie może zażądać dowolnego niższego poziomu pomyślnie.

Natychmiastowe i opóźnione tryby aktualizacji

W trybie natychmiastowym aktualizacji, każde wywołanie IRowsetChange::SetData powoduje, że podróż round do SQL Server. Jeżeli konsument wysyła wiele zmian do pojedynczego wiersza, jest bardziej efektywne, aby przesłać wszystkie zmiany w jednym SetData wywołanie.

W trybie opóźnionych aktualizacji, obie strony jest mowa o SQL Server dla każdego wiersza wskazanych w cRows and rghRows parametrówIRowsetUpdate::Update.

W trybie obie strony przedstawia odrębną transakcji obiekt transakcji nie jest otwarty do zestawu zestaw wierszy.

W przypadku korzystania z IRowsetUpdate::Update, the SQL Server Macierzystego dostawca klient OLE DB usiłuje przetwarzać każdego wskazanego wiersza. Błąd występuje ze względu na nieprawidłowe wartości danych, długość lub stanu dla każdego wiersza nie zatrzymuje SQL Server Przetwarzanie macierzystego dostawca klient OLE DB. Wszystkie lub brak w innych wierszach biorących udział w tej aktualizacji może być zmodyfikowany.Konsument musi zbadać zwrócona prgRowStatus tablicy, aby określić niepomyślnym szczególne wierszy, gdy SQL Server Macierzysta klient OLE DB dostawca zwraca DB_S_ERRORSOCCURRED.

Konsument nie powinien założono, przetwarzania wierszy w określonej kolejności.Jeżeli konsument wymaga zamówione przetwarzania modyfikacji danych przez więcej niż jeden wiersz, konsument powinien ustanowienia tego zamówienia w logiki aplikacji, a następnie otwórz transakcji należy ująć w procesie.