ODBC Transaction Processing

From: Bill Kurland (bill_at_shakespeare-nyc.com)
Date: 02/26/05

  • Next message: Steven Lembark: "Re: elegent way to handle "pluggable" backend servers?"
    Date: Sat, 26 Feb 2005 16:42:53 -0500
    To:  dbi-users@perl.org
    
    

    I am using DBI 1.27 and DBD-ODBC 0.28 with Active State perl 5.6.1 on a
    win2k machine to access a MicroFocus COBOL database on an AIX box via a
    middleware product called U/SQLI written by a company called Transoft.
    The problem I now need to solve regards transaction processing. From the
    U/SQLI manual:

    >>
    Transaction Processing Syntax

    The transaction processing syntax is as follows:

    transaction [mode] {on|off} Commence/Terminate transaction processing.
    commit [work] Commit a transaction.
    rollback [work] Rollback a transaction.

    Both the Interactive U/SQL utilities, the client-based Win U/SQLi and
    the UNIX-based usqli, support the transaction processing syntax.
    >>
    The docs go on to instruct how to enable server side transaction
    processing by turning on filesharing under Microfocus COBOL. Transaction
    processing with the above syntax works fine when using the Windows
    client supplied by Transoft. And the ODBC driver provided by Transoft
    works fine with DBI for everything I've done previously.

    However, with AutoCommit turned off I get the 'commit ineffective with
    AutoCommit enabled ' message when I try to use the 'commit' method.
    The COBOL database is not updated. From 'Programming the Perl DBI' I am
    given to understand that, when AutoCommit is disabled and the underlying
    database has explicit transaction support, the driver automatically
    begins a new transaction. Yet it appears that the AutoCommit attribute
    is being ignored.

    Is this likely a conformance problem with the Transoft ODBC driver? Is
    there any way to pass through a 'transaction on' command to the driver
    or would it simply be ignored? Is this a problem only the authors of the
    driver can fix?

    Thanks

    -- 
    Bill Kurland
    Shakespeare & Co.
    --
    "There is no Modesty--No attention to one another. They talk very loud,
    very fast,and all together.If they ask you a Question, before you can utter 3 words of your Answer, they will break out upon you, again--and talk away"
    --John Adams, on New Yorkers
    

  • Next message: Steven Lembark: "Re: elegent way to handle "pluggable" backend servers?"

    Relevant Pages

    • Re: Web services and transactions
      ... support distributed transaction processing. ... I think you may consider move the transaction processing from ... Encapsulate all the webmethods into a single webmethod. ... Microsoft MSDN Online Support Lead ...
      (microsoft.public.dotnet.languages.csharp)
    • Re: Rollback Functions
      ... I thought that was a transaction server like a MS COM+ Server. ... the transaction processing of ADO.NET that rolls back transactions ... transaction processing Commit and Rollback abilities. ...
      (comp.programming)
    • Re: Transaction Support in Access
      ... You might be better to use automatic transaction processing. ... Public Class myClass ... I have to make a series of updates to the tables as a ...
      (microsoft.public.access.queries)
    • Re: How do I do transactions in .Net ?
      ... broad topics like transaction handling, but I can give you pointers where ... the term "transaction" can also be used in many different ... SqlTransaction object, or Rollback should you want to roll the transaction ... See the index entry "transaction processing, ...
      (microsoft.public.dotnet.languages.csharp)
    • Re: Behavior of Connection.commit()
      ... transaction count on the server is what we expect at that point in time.... ... Does anyone know what the JDBC ... >> should the driver throw an error? ... > doesn't say what happens if the JDBC driver sends "shutdown" SQL to the ...
      (microsoft.public.sqlserver.jdbcdriver)