Udostępnij za pośrednictwem


Korzystanie z zestawów wyników domyślne programu SQL Server

Atrybuty domyślne ODBC kursor są następujące:

SQLSetStmtAttr(hstmt, SQL_ATTR_CURSOR_TYPE, SQL_CURSOR_FORWARD_ONLY, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_CONCURRENCY, SQL_CONCUR_READ_ONLY, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_ROW_ARRAY_SIZE, 1, SQL_IS_INTEGER);

Za każdym razem, gdy te atrybuty są ustawione na wartości domyślne, SQL Server Używa trybu macierzystego sterownika ODBC klient SQL Server domyślny zestaw wyników. Domyślne zestawy wyników mogą być używane do żadnych instrukcja języka SQL, obsługiwane przez SQL Server, a są najbardziej efektywne metoda przenoszenia cały zestaw wyników do klient.

SQL Server 2005 wprowadzonego obsługę wielu aktywnych wynik ustawia (MARS); aplikacji teraz może mieć więcej niż jeden domyślny zestaw wyników aktywnego połączenia.Usługa MARS jest domyślnie wyłączona.

Przed SQL Server 2005, domyślny zestaw wyników nie obsługują wielu instrukcji aktywnego połączenia. Po wykonaniu instrukcja języka SQL dla połączenia, serwer nie akceptuje polecenia (z wyjątkiem prośbę o anulowanie pozostałą część zestaw wyników) od klient w związku z tym dopóki nie zostaną przetworzone wszystkie wiersze zestaw wyników.Aby anulować pozostałą część zestaw wyników częściowo przetworzone, zadzwoń SQLCloseCursor or SQLFreeStmt with the fOption parametr wartość SQL_CLOSE.Aby zakończyć zestaw wyników częściowo przetworzone i test na obecność innego zestaw wyników, należy skontaktować się telefonicznie SQLMoreResults.Jeżeli aplikacji ODBC próbuje polecenie na dojście do połączenia, zanim domyślny zestaw wyników zostały całkowicie przetworzone, wywołanie generuje SQL_ERROR i wywołanie SQLGetDiagRec returns:

szSqlState: "HY000", pfNativeError: 0
szErrorMsg: "[Microsoft][SQL Server Native Client]
                Connection is busy with results for another hstmt."