Within our application we have massive access to our Oracle database version 10g by means of client version 12.1
The connection works fine but for some reason we cannot set the AUTOCOMMIT mode OFF.
The call to mdlDB_activeAutoCommitMode(FALSE) returns SUCCESS but a successive call to mdlDB_isAutoCommit() returns TRUE.
In fact, any change in the database is committed immediately and both mdlDB_processSQL("commit") and mdlDB_processSQL("rollback") return SUCCESS without doing anything.
The very same statements in Microstation V8i SERIES 10 with Oracle client 11.2 work correctly.
Any idea what I'm doing wrong?
Robert Kock said:Within our application
Please move your post to the MicroStation Programming Forum. Use the More|Move button.
Regards, Jon Summers LA Solutions
Done. Thanks
Hi Robert Kock,
Can you confirm your steps against those used and provided in this post?
Thank you,Bob
Hi Bob,
I had seen that post before. We do everything correctly. In fact, things work normally in V8i SERIES 10.
I know we should move to standard Windows libraries but we have to port more than 100 ".ma" applications with over 1mln lines of code. Therefore, for now we prefer to keep the mdlDB_* functions. They are provided and documented and should work correctly. I'm quite sure I'm doing something wrong but I have no clue.
When connecting to the database from the command line by means of SQL*Plus, the problem does not occur (autocommit is off). It's therefore not a problem of the oracle client.
By the way, our version (Connect Edition and SDK) is update 14.
Thanks,
Robert
UPDATE:
I copied the application (.ma and .dll) to another server with the very same version of Oracle client (12.1) but Update 15 of MicroStation Connect Edition instead of Update 14.
Things work correctly over there.
I don't know if it depends on the Microstation update or maybe upon some setting. Still investigating.