• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
DB2 - ODBC - transaction problem


I have a problem where i need some help.

I have this in my model (call to a proceedure):

$sql="call proc.stored_procedure( ?, ?, 'PM', '0', cast(null as char), cast(null as char) )";
$this->db->query($sql, array($basketId, $firmNumber));

I am getting an error:
SQL0428N The SQL statement is only allowed as the first statement in a unit of work.

I have tried to use $this->db->trans_strict(FALSE); and $this->db->trans_off() before the call and it doesnt help.

The procedure call works if i call it in DbVisualizer or by using db2cmd.

It is a problem with transaction isolation.

Thank you for your hints.

with regards,


Most of the information I found on this error points to errors in the procedure, but you've already stated it works in other environments. Are you using the same account to connect to the database in those other tools as the account which is configured for CodeIgniter?

I've also found a few references in IBM's Knowledge Center about known issues which might cause these errors, but they're specific to using certain APIs or features, so the workarounds they provide may not be relevant. Most of them do seem to suggest setting autocommit mode or issuing a commit/rollback before/after the offending command in the stored procedure. Searching for "php SQL0428N" seemed to return a few potentially useful results.

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.