We have noticed that the OleDB provider is not using OracleMTSRecoveryService for transactions. We know this because we have:
- Disabled OracleMTSRecoveryService
- Dropped the MTSSYS user
- Successfully ran multple transactions
We are using a single application server that connects to a seperate database server.
The Application Server has the following installed:
- Oracle Administrative Client 184.108.40.206
- Oracle Administrative Client 220.127.116.11 Upgrade
- ODAC 18.104.22.168 Installed
- The ConnectString for the application is 'Provider=OraOLEDB.Oracle.1;Data Source=LOADTEST;User ID=LoadUser;Password=;'
- The HOME0, OLEDB, and OracleMTSRecoveryService register settings are set to the default. (ORAMTS_NET_CACHE_TIMEOUT is correctly set to 12000, not 120)
The SQL script was ran:
- username: mtssys
- password: mtssys
- Net Connection name: Local (default, maybe this is the issue?)
Just to confirm:
OracleMTSRecoveryService runs on the application server only. It is not installed on the database server.