Пакеты отчётов

Пакет инструкций Transact-SQL содержит два или более инструкций, разделенных точкой с запятой (;), встроенной в одну строку, передаваемую в функцию SQLExecDirect или SQLPrepare. Рассмотрим пример.

SQLExecDirect(hstmt,   
    "SELECT * FROM Authors; SELECT * FROM Titles",  
    SQL_NTS);  

Пакеты могут быть более эффективными, чем отправлять инструкции отдельно, так как сетевой трафик часто уменьшается. Используйте SQLMoreResults , чтобы получить позицию в следующем результирующем наборе после завершения текущего результирующий набор.

Пакеты всегда можно использовать, если атрибуты курсора ODBC заданы по умолчанию для курсора только для чтения с размером набора строк размером 1.

Если пакет выполняется при использовании курсоров сервера для SQL Server, курсор сервера неявно преобразуется в результирующий набор по умолчанию. Возвращаемые SQL_SUCCESS_WITH_INFO sqlExecute или SQLExecute , а вызов SQLGetDiagRec возвращает:

szSqlState = "01S02", pfNativeError = 0  
szErrorMsg = "[Microsoft][SQL Server Native Server Native Client]Cursor type changed."  

См. также

Выполнение инструкций (ODBC)