Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Fontos
Az SQL Server natív ügyfele (SNAC) nem a következőkkel szállítható:
- SQL Server 2022 (16.x) és újabb verziók
- AZ SQL Server Management Studio 19- és újabb verziói
Az SQL Server natív ügyfele (SQLNCLI vagy SQLNCLI11) és az örökölt Microsoft OLE DB Provider for SQL Server (SQLOLEDB) nem ajánlott az új alkalmazásfejlesztéshez.
Új projektek esetén használja az alábbi illesztőprogramok egyikét:
Az SQL Server adatbázismotor összetevőjeként (2012–2019-ben) futó SQLNCLI esetében tekintse meg ezt a támogatási életciklus-kivételt.
Az ODBC-tranzakciók a kapcsolat szintjén vannak kezelve. Amikor egy alkalmazás végrehajt egy tranzakciót, véglegesíti vagy visszaállítja az összes elvégzett munkát a kapcsolat összes utasításkezelőjén keresztül. Tranzakció véglegesítéséhez vagy visszaállításához az alkalmazásoknak a COMMIT vagy ROLLBACK utasítás elküldése helyett az SQLEndTran-t kell meghívniuk.
Egy alkalmazás meghívja az SQLSetConnectAttr-et , hogy váltson a tranzakciók kezelésének két ODBC-módja között:
Automatikus feladatátvételi mód
A rendszer minden utasítást automatikusan véglegesített, amikor sikeresen befejeződött. Automatikus kiírási módban való futtatáskor nincs szükség más tranzakciókezelési függvényre.
Manuális véglegesítési mód
Az összes végrehajtott utasítás ugyanabban a tranzakcióban szerepel, amíg az SQLEndTran meghívásával kifejezetten le nem állítja.
Az automatikus kitöltési mód az ODBC alapértelmezett tranzakciós módja. Amikor létrejön egy kapcsolat, az automatikus küldési módban van, amíg az SQLSetConnectAttr meghívása nem történik, hogy manuális véglegesítési módra váltson az automatikus küldési mód kikapcsolásával. Amikor egy alkalmazás kikapcsolja az automatikus kiküldést, az adatbázisnak küldött következő utasítás tranzakciót indít el. A tranzakció ezután mindaddig érvényben marad, amíg az alkalmazás nem hívja meg az SQLEndTran-t a SQL_COMMIT vagy SQL_ROLLBACK beállításokkal. Az SQLEndTran után az adatbázisnak küldött parancs elindítja a következő tranzakciót.
Ha egy alkalmazás manuális véglegesítésről automatikus küldési módra vált, az illesztőprogram véglegesíti a kapcsolaton jelenleg megnyitott tranzakciókat.
Az ODBC-alkalmazások nem használhatnak olyan Transact-SQL tranzakciós utasításokat, mint a BEGIN TRANSACTION, a COMMIT TRANSACTION vagy a ROLLBACK TRANSACTION, mert ez meghatározhatatlan viselkedést okozhat az illesztőprogramban. Az ODBC-alkalmazásoknak automatikus küldési módban kell futniuk, és nem szabad tranzakciókezelési függvényeket vagy utasításokat használniuk, vagy manuális véglegesítési módban kell futniuk, és az ODBC SQLEndTran függvénnyel véglegesíteni vagy visszahozni a tranzakciókat.