Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
De standaard ODBC-cursorattributen zijn:
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);
Wanneer deze attributen op hun standaardinstellingen zijn gezet, gebruikt de SQL Server Native Client ODBC-driver een SQL Server standaardresultaatset. Standaard resultaatsets kunnen worden gebruikt voor elke SQL-instructie die door SQL Server wordt ondersteund, en zijn de meest efficiënte methode om een volledige resultaatset naar de client over te dragen.
SQL Server 2005 (9.x) introduceerde ondersteuning voor meerdere actieve resultaatsets (MARS); applicaties kunnen nu meer dan één actieve standaardresultaatset per verbinding hebben. MARS is standaard niet ingeschakeld.
Voor SQL Server 2005 (9.x) ondersteunden standaardresultatensets geen meerdere actieve statements op dezelfde verbinding. Nadat een SQL-instructie op een verbinding is uitgevoerd, accepteert de server geen commando's (behalve een verzoek om de rest van de resultaatset te annuleren) van de client op die verbinding totdat alle rijen in de resultaatset zijn verwerkt. Om de rest van een gedeeltelijk verwerkte resultaatset te annuleren, roep SQLCloseCursor of SQLFreeStmt aan met de fOption-parameter ingesteld op SQL_CLOSE. Om een gedeeltelijk verwerkte resultaatset af te ronden en te testen op de aanwezigheid van een andere resultaatset, roep SQLMoreResults aan. Als een ODBC-applicatie een commando probeert op een verbindingshandle te uitvoeren voordat een standaardresultaatset volledig is verwerkt, genereert de aanroep SQL_ERROR en geeft een aanroep naar SQLGetDiagRec terug:
szSqlState: "HY000", pfNativeError: 0
szErrorMsg: "[Microsoft][SQL Server Native Client]
Connection is busy with results for another hstmt."