Quite right...Commit does need to be enabled.  Here's the trick though...

(code from the script making the connection through Apache::Session::Oracle

tie %hash, 'Apache::Session::Oracle', $id, {
          DataSource => 'dbi:Oracle:ensdev',
          UserName   => '<User>',
          Password   => '<Pass>',
          Commit => 1

};

)

Commit is enabled in the script that is performing the connect. The problem that seems to be happening is that Apache::DBI::Oracle has db connections hanging around with commit set to 'off' and the commit from the script using Apache::Session isn't overriding the Autocommit = 'off' connection made by Apache::DBI::Oracle.  To complicate the matter, I shouldn't have AutoCommit set for all database interactions it would fill the database with yuck and then our DBA would have to beat me. 

I do recall reading about a special case with Oracle where the Session::store( ) method was called to commit the data, however, I can not find this special case in anywhere in the documentation.  I think I saw it in a doc for an older rev of Apache::DBI. Sheesh!

 

Thanks,

Chad 

Reply via email to