Udostępnij przez


Kursory tylko Fast Forward (ODBC)

Po podłączeniu do wystąpienie SQL Server, SQL Server sterownik ODBC Klient macierzysty obsługuje performance optimizations Kursory progresywne, tylko do odczytu.Kursory tylko szybkie przesyłanie dalej są implementowane wewnętrznie przez sterownik i serwera w sposób bardzo podobny do domyślnych zestawów wyników.Oprócz o wysokiej wydajności, kursorów tylko szybkie przesyłanie dalej miało następujące charakterystyki:

  • Procedura SQLGetData nie jest obsługiwane.Zmienne program musi być powiązana kolumn zestaw wyników.

  • Serwer automatycznie zamyka kursor po wykryciu końca kursora.Aplikacja musi nadal wywołać SQLCloseCursor lub SQLFreeStmt(SQL_CLOSE), ale sterownik nie ma wysłać żądanie zamknięcia do serwera.Spowoduje to zapisanie roundtrip przez sieć do serwera.

Aplikacja żąda tylko szybkie przesyłanie dalej kursory przy użyciu atrybut instrukcja specyficznych dla sterownika SQL_SOPT_SS_CURSOR_OPTIONS.Gdy zestaw do SQL_CO_FFO, są włączone tylko szybkie przesyłanie dalej kursory bez autofetch.Gdy zestaw do SQL_CO_FFO_AF, również jest włączona opcja autofetch.Aby uzyskać więcej informacji o autofetch, zobacz Autofetch korzystanie z kursorów ODBC.

Kursory tylko szybkie przesyłanie dalej z autofetch można pobrać małych zestaw wyników zawierający tylko jedną transmisję do serwera.W tych krokach n liczbę wierszy zwracanych jest:

  1. Ustaw SQL_SOPT_SS_CURSOR_OPTIONS na SQL_CO_FFO_AF.

  2. Ustaw SQL_ATTR_ROW_ARRAY_SIZE na n + 1.

  3. Powiązania kolumny wyniku tablice n + 1 elementów (bezpieczne Jeśli n + faktycznie pobrane wiersze 1).

  4. Otwarcie kursor z albo SQLExecDirect lub SQLExecute.

  5. Jeśli stan zwrotu jest SQL_SUCCESS, następnie wywołać SQLFreeStmt lub SQLCloseCursor zamknąć kursor.Wszystkie dane w wierszach będą zmienne program związanego.

Te kroki SQLExecDirect lub SQLExecute wysyła kursor Otwórz żądania z włączoną opcją autofetch.W tym pojedyncze żądanie od klient, serwera:

  • Otwiera się kursor.

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

  • Ponieważ rozmiar zestawu zestaw wierszy była ustawiona na 1 więcej niż liczba zestaw wierszy zestaw wyników, serwer wykryje koniec kursor i zamyka kursora.

Zobacz także

Koncepcje