I have a Delphi 7 application that has a TTable instance. It's using the iSeries Access for Windows ODBC driver. I need to set the Commit Mode to "Commit Immediate". This option is not available in the IsolationLevel list. How can I set this property?
The following page includes a detailed description of the problem I'm having (SQL7008 error) as well as the SQL properties that need to be set.
https://www-304.ibm.com/support/docview ... s8N1017566
IsolationLevel *NONE?
Re: IsolationLevel *NONE?
Hello,
Since ODBCUniProvider works with various ODBC drivers, it has no specific options. You can configure Commit Mode in the DSN settings. https://www-304.ibm.com/support/docview ... s8N1017566 (Figure1)
Since ODBCUniProvider works with various ODBC drivers, it has no specific options. You can configure Commit Mode in the DSN settings. https://www-304.ibm.com/support/docview ... s8N1017566 (Figure1)
Re: IsolationLevel *NONE?
Yes, that's a work around. But my client really doesn't want to journal (turn on commitment control) for this particular set of files. It would be nice if there was a property editor to allow me to enter driver-specific settings (i.e., SQL_TXN_ISOLATION and SQL_AUTOCOMMIT) Maybe that's asking too much.
Re: IsolationLevel *NONE?
Instead of setting DSN for connection to the database, you can use the following connection string.
where
CMT or CommitMode - Specifies the default transaction isolation level.
Code: Select all
UniConnection1.ConnectString := 'Provider Name=ODBC;Server={iSeries Access ODBC Driver};System=my_system_name;Uid=myUsername;CMT=0';
CMT or CommitMode - Specifies the default transaction isolation level.
Code: Select all
0 = Commit immediate (*NONE)
1 = Read committed (*CS)
2 = Read uncommitted (*CHG)
3 = Repeatable read (*ALL)
4 = Serializable (*RR)