2°) set implicit_transaction to ON :
SQLExecDirect(stmt, "SET IMPLICIT_TRANSACTIONS ON", strlen("SET IMPLICIT_TRANSACTIONS ON"))
3°) Alloc, prepare and bind for an insert statement :
SQLPrepare(curs->stmt, curs->str, strlen(curs->str)
4°) Then execute :
No problem/error until that point.
5°) Want to commit :
SQLExecDirect(stmt, "COMMIT", strlen("COMMIT"))
And there I got the error :
"The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION."
But in fact, a begin transaction should not be present while IMPLICIT_TRANSACTION is set to ON. If I remove the option "Mars Connection" from the connection string ; I don't have the problem anymore but I need this option.