I got this error running an analyze from within a package called by perl:

[Oracle][ODBC][Ora]ORA-02074: cannot ANALYZE TABLE in a distributed transaction

It’s basically the same issue as descibed in the link - you have to turn off the Microsoft Distributed Transaction Server, as follows:

  • fire up the Microsoft ODBC Administrator
  • Select the System DSN Tab
  • Select the DSN that it’s using
  • Click Configure
  • Select the Workarounds Tab
  • click Disable Microsoft Transaction Server.

You have to go into Microsoft ODBC Administrator