Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytický platformní systém (PDW)
Důležité
Sql Server Native Client (SNAC) není dodáván s:
- SQL Server 2022 (16.x) a novější verze
- SQL Server Management Studio 19 a novější verze
Pro vývoj nových aplikací se nedoporučuje nativní klient SQL Serveru (SQLNCLI nebo SQLNCLI11) a starší zprostředkovatel Microsoft OLE DB pro SQL Server (SQLOLEDB).
Pro nové projekty použijte jeden z následujících ovladačů:
Informace o SQLNCLI, které se dodává jako součást databázového stroje SQL Serveru (verze 2012 až 2019), najdete v této výjimce životního cyklu podpory.
Transakce v rozhraní ODBC se spravují na úrovni připojení. Když aplikace dokončí transakci, potvrdí nebo vrátí zpět veškerou práci dokončenou prostřednictvím všech popisovačů příkazu na daném připojení. Chcete-li potvrdit nebo vrátit zpět transakci, aplikace by měly volat SQLEndTran místo odeslání příkazu COMMIT nebo ROLLBACK.
Aplikace volá SQLSetConnectAttr pro přepínání mezi dvěma režimy ODBC správy transakcí:
Režim automatického dokončování
Každý příkaz se automaticky potvrdí po úspěšném dokončení. Při spuštění v režimu automatickéhocommit nejsou vyžadovány žádné další funkce správy transakcí.
Režim ručního potvrzení
Všechny spouštěné příkazy jsou zahrnuty do stejné transakce, dokud není výslovně zastaven voláním SQLEndTran.
Režim automatického dokončování je výchozí režim transakce pro rozhraní ODBC. Při vytváření připojení je v režimu automatickéhocommit, dokud se sqlSetConnectAttr nevolá, aby se přepnul do režimu ručního potvrzení nastavením režimu automatického dokončování vypnuto. Když aplikace vypne automatickécommit, další příkaz odeslaný do databáze spustí transakci. Transakce pak zůstane v platnosti, dokud aplikace nevolá SQLEndTran s SQL_COMMIT nebo SQL_ROLLBACK možnosti. Příkaz odeslaný do databáze po spuštění další transakce SQLEndTran .
Pokud aplikace přepne z ručního potvrzení do režimu automatického dokončování, ovladač potvrdí všechny transakce aktuálně otevřené v připojení.
Aplikace ODBC by neměly používat Transact-SQL transakční příkazy, jako jsou BEGIN TRANSACTION, COMMIT TRANSACTION nebo ROLLBACK TRANSACTION, protože to může způsobit nedeterminovat chování ovladače. Aplikace ODBC by měla běžet v režimu automatického dokončování a neměla by používat žádné funkce nebo příkazy pro správu transakcí nebo spouštět v režimu ručního potvrzení a používat funkci ODBC SQLEndTran k potvrzení nebo vrácení transakcí zpět.