Hi Aleksey,
>What you are missing is the fact that after you execute SQLSETPROP(con,"Transactions",2), the server will automatically switch to implicit transaction as soon as you try to execute any command that is supposed to be tracked by a transaction.
For me this is not true.
It occur at first next SQLEXEC() command.
SQLCOMMIT(con) is not necessary.
con=SQLCONNECT("LocalServer")
SQLSETPROP(con,"Transactions",2)
?SQLEXEC(con,"select * from master..sysprocesses")
SQLEXEC(con,"select @@TRANCOUNT as count", "trancount")
? "Current trancount:",trancount.count
SQLSETPROP(con,"Transactions",1)
SQLEXEC(con,"select @@TRANCOUNT as count", "trancount")
? "Current trancount:",trancount.count
Fabio