title: Transaction support in ADODB for legacy VB6 Application
body: <p>We're in the midst of migrating a legacy VB6 application from a Sybase backend to a SQL Server 2008 R2.  Most applications are making the transition well, however I have one app that uses rigorous transaction control from within the code using named transactions.  Based upon some thorough testing, it appears that either client or server doesn't support "begin", "commit", and "rollback" commands at all.</p>
  
  <p>Performing a command like this:</p>
  
  <pre><code>conSQL.Execute "begin tran CaptureSch" ', , adExecuteNoRecords
  </code></pre>
  
  <p>and then following it with a @@trancount always yields 0.  Additionally any attempt at committing the transaction later in the code produces a 3902 error.</p>
  
  <p>Using this command: </p>
  
  <pre><code>conSQL.BeginTrans
  </code></pre>
  
  <p>does appear to yield some sort of behavior change, however the @@trancount is still zero, and this method wouldn't support nested transactions, which is what is required by the code.</p>
  
  <p>I've attempted changing implicit transaction modes, various connection string parameters, and more to no avail.  Does anyone have any suggestions about how to get this type of functionality working?  Samples of this type of functionality that I find online suggest that nested named transactions are supported if explicitly executed in the code.</p>
  
  <p>Thanks for the help.</p>