Skip to main content
July 19, 2022
Question

SQL Server Explicit Transaction Rollback

  • July 19, 2022
  • 5 replies
  • 0 views

Reading through the Query Database Smart Service documentation, it appears that an explicit transaction wraps every execution:

https://docs.appian.com/suite/help/22.2/Query_Database_Smart_Service.html#:~:text=Activity%20execution,by%20the%20node

Is there a way to shut this behavior off?  We have created a logging framework with all of our procedures, and can even get the error messages we're producing out of the process flows via the Outputs tab, but when all is said and done our logging messages are missing.  If I'm interpreting the above correctly, it's because the overall transaction is rolling back our logging inserts too.

I'd really prefer to let errors be errors and just stop this behavior, but if that's not possible my catches will have to swallow the error and return my messaging through OUTPUT variables instead (an idea if anyone else is facing this same issue).

Thanks!

-Eric Rubeck

5 replies

stefanhelzle0001
Brainy
July 20, 2022

Can you explain your use case a bit? What do you want to achieve?

In general, I consider the Appian process model to define the "transaction", but not the DB. From an Appian perspective, the DB is just a dumb data storage. Thinking of it like this works for me very successfully for the last 12 years.

ericr6573Author
July 20, 2022

We're building enterprise-level logging and status reporting that will cover more apps than just what we have in the Appian environment, so the plan is to centralize our logging into SQL Server.

We are using our own SQL Server instance as our data source, not the provided MariaDB instance.  So the use case is simply to be able to leverage writes to a logging table without another round-trip to the DB.

stefanhelzle0001
Brainy
July 20, 2022

At which level do you want to log and about what kind of status do you mean? I think this approach might be worth being adapted to the way how Appian works.