Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Viktigt!
SQL Server Native Client (SNAC) levereras inte med:
- SQL Server 2022 (16.x) och senare versioner
- SQL Server Management Studio 19 och senare versioner
SQL Server Native Client (SQLNCLI eller SQLNCLI11) och den äldre Microsoft OLE DB-providern för SQL Server (SQLOLEDB) rekommenderas inte för ny programutveckling.
Använd någon av följande faktorer för nya projekt:
Information om SQLNCLI som levereras som en komponent i SQL Server Database Engine (version 2012 till och med 2019) finns i det här undantaget supportlivscykel.
Transaktioner i ODBC hanteras på anslutningsnivå. När ett program slutför en transaktion checkar det in eller återställer allt arbete som slutförts via alla instruktionsreferenser på den anslutningen. För att checka in eller återställa en transaktion bör program anropa SQLEndTran i stället för att skicka en COMMIT- eller ROLLBACK-instruktion.
Ett program anropar SQLSetConnectAttr för att växla mellan de två ODBC-lägena för att hantera transaktioner:
Autocommit-läge
Varje instruktion checkas in automatiskt när den har slutförts. När du kör i autocommit-läge krävs inga andra transaktionshanteringsfunktioner.
Manuellt incheckningsläge
Alla körda instruktioner ingår i samma transaktion tills den stoppas specifikt genom att anropa SQLEndTran.
Autocommit-läge är standardtransaktionsläget för ODBC. När en anslutning upprättas är den i automatiskt återtagandeläge tills SQLSetConnectAttr anropas för att växla till manuellt incheckningsläge genom att ställa in läget för automatisk återtagande av. När ett program inaktiverar automatisk återtagande startar nästa instruktion som skickas till databasen en transaktion. Transaktionen gäller sedan tills programmet anropar SQLEndTran med alternativen SQL_COMMIT eller SQL_ROLLBACK. Kommandot som skickas till databasen när SQLEndTran startar nästa transaktion.
Om ett program växlar från manuell incheckning till autocommit-läge genomför drivrutinen alla transaktioner som för närvarande är öppna på anslutningen.
ODBC-program bör inte använda Transact-SQL transaktionsinstruktioner som BEGIN TRANSACTION, COMMIT TRANSACTION eller ROLLBACK TRANSACTION eftersom detta kan orsaka ett obestämt beteende i drivrutinen. Ett ODBC-program ska köras i automatiskt återtagandeläge och inte använda några funktioner eller instruktioner för transaktionshantering, eller köras i manuellt incheckningsläge och använda funktionen ODBC SQLEndTran för att antingen checka in eller återställa transaktioner.