Udostępnij przez


Szybko do przodu tylko kursory (ODBC)

Po podłączeniu do wystąpienie SQL Server, SQL Server Macierzysty sterownik ODBC klient obsługuje optymalizacji wydajności kursory tylko przesyłanie dalej, tylko do odczytu. Szybko do przodu tylko kursory są realizowane wewnętrznie przez serwer w sposób bardzo podobny do zestawów wyników domyślny i sterownika.Oprócz o wysokiej wydajności, szybko do przodu tylko kursory mają następujące cechy:

  • SQLGetData nie jest obsługiwana.Musi być powiązana kolumn zestaw wyników do programu zmiennych.

  • Serwer automatycznie zamknie kursor po wykryciu końca kursora.Aplikacja nadal musi wywołać. SQLCloseCursor or SQLFreeStmt(SQL_CLOSE), ale sterownik nie jest dostępna do wysłania do serwera żądanie zamknięcia.W obie strony zostaną zapisane przez sieć do serwera.

Aplikacja żąda kursory szybko do przodu tylko przy użyciu atrybut specyficznych dla sterownika instrukcja SQL_SOPT_SS_CURSOR_OPTIONS.Gdy zestaw do SQL_CO_FFO, szybko do przodu tylko kursory są włączane bez autofetch.Gdy zestaw do SQL_CO_FFO_AF, opcja autofetch również jest włączona.Aby uzyskać więcej informacji na temat autofetch zobacz Przy użyciu Autofetch z kursory ODBC.

Szybko do przodu — tylko kursory z autofetch można używać do pobierania małych wynik zestaw z tylko jednym w obie strony na serwerze.W tych krokach n jest to liczba wierszy, które mają zostać zwrócone:

  1. zestaw SQL_SOPT_SS_CURSOR_OPTIONS do SQL_CO_FFO_AF.

  2. Ustaw SQL_ATTR_ROW_ARRAY_SIZE n + 1.

  3. Powiązanie kolumn z wynikami z tablic n + 1 elementów (bezpieczne Jeśli n + 1 wiersze są faktycznie pobrano).

  4. Otwórz albo kursor SQLExecDirect or SQLExecute.

  5. Jeśli stan zwrotu jest SQL_SUCCESS, następnie wywołać. SQLFreeStmt or SQLCloseCursor , aby zamknąć kursor.Wszystkie dane wierszy będą zmienne powiązania programu.

Z tych kroków SQLExecDirect or SQLExecute wysyła żądanie otwarte kursor z włączoną opcją autofetch.W tym pojedyncze żądanie od klient, serwer:

  • Otwiera się kursor.

  • Tworzy zestaw wyników i wysyła wiersze do klient.

  • Ponieważ rozmiar zestaw wierszy został ustawiony na wartość 1, przekracza liczbę wierszy zestaw wyników, serwer wykrywa koniec kursora i zamyka się kursor.