I have a simple INSERT INTO statement sent to SQL-Server using pymssql module.<br><br>I use the runOperation method to send the query and I get this strange error. The data goes through OK and is written in the database but SQL-Server tries to rollback.<br>
<br>Perhaps this is a pymssql problem. In the <br><a href="http://code.google.com/p/pymssql/wiki/PymssqlExamples">http://code.google.com/p/pymssql/wiki/PymssqlExamples</a> <br>page, they state:<br><br><pre class="prettyprint">
<span class="kwd">import</span><span class="pln"> pymssql<br>conn </span><span class="pun">=</span><span class="pln"> pymssql</span><span class="pun">.</span><span class="pln">connect</span><span class="pun">(</span><span class="pln">host</span><span class="pun">=</span><span class="str">&#39;SQL01&#39;</span><span class="pun">,</span><span class="pln"> user</span><span class="pun">=</span><span class="str">&#39;user&#39;</span><span class="pun">,</span><span class="pln"> password</span><span class="pun">=</span><span class="str">&#39;password&#39;</span><span class="pun">,</span><span class="pln"> database</span><span class="pun">=</span><span class="str">&#39;mydatabase&#39;</span><span class="pun">)</span><span class="pln"><br>
cur </span><span class="pun">=</span><span class="pln"> conn</span><span class="pun">.</span><span class="pln">cursor</span><span class="pun">()</span><span class="pln"><br>cur</span><span class="pun">.</span><span class="pln">execute</span><span class="pun">(</span><span class="str">&#39;CREATE TABLE persons(id INT, name VARCHAR(100))&#39;</span><span class="pun">)</span><span class="pln"><br>
cur</span><span class="pun">.</span><span class="pln">executemany</span><span class="pun">(</span><span class="str">&quot;INSERT INTO persons VALUES(%d, %s)&quot;</span><span class="pun">,</span><span class="pln"> </span><span class="pun">\</span><span class="pln"><br>
    </span><span class="pun">[</span><span class="pln"> </span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">&#39;John Doe&#39;</span><span class="pun">),</span><span class="pln"> </span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">&#39;Jane Doe&#39;</span><span class="pun">)</span><span class="pln"> </span><span class="pun">])</span><span class="pln"><br>
conn</span><span class="pun">.</span><span class="pln">commit</span><span class="pun">()</span><span class="pln">  </span><span class="com"># you must call commit() to persist your data if you don&#39;t set autocommit to True</span><span class="pln"><br>
</span></pre><br>But how can I use the con.commit method with runOperation and runQuery that I use in my application?<br><br>thank you,<br><br>Pandelis Theodosiou<br><br><br>Here is the error:<br><br>Traceback (most recent call last):<br>
  File &quot;/usr/lib/python2.6/threading.py&quot;, line 484, in run<br>    self.__target(*self.__args, **self.__kwargs)<br>  File &quot;/usr/lib/python2.6/dist-packages/twisted/python/threadpool.py&quot;, line 210, in _worker<br>

    result = context.call(ctx, function, *args, **kwargs)<br>  File &quot;/usr/lib/python2.6/dist-packages/twisted/python/context.py&quot;, line 59, in callWithContext<br>    return self.currentContext().callWithContext(ctx, func, *args, **kw)<br>

  File &quot;/usr/lib/python2.6/dist-packages/twisted/python/context.py&quot;, line 37, in callWithContext<br>    return func(*args,**kw)<br>--- &lt;exception caught here&gt; ---<br>  File &quot;/usr/lib/python2.6/dist-packages/twisted/enterprise/adbapi.py&quot;, line 436, in _runInteraction<br>

    conn.rollback()<br>  File &quot;/usr/lib/python2.6/dist-packages/twisted/enterprise/adbapi.py&quot;, line 52, in rollback<br>    self._connection.rollback()<br>  File &quot;/usr/lib/pymodules/python2.6/pymssql.py&quot;, line 496, in rollback<br>

    raise OperationalError, &quot;cannot roll back transaction: &quot; + e[0]<br>pymssql.OperationalError: cannot roll back transaction: SQL Server message 3903, severity 16, state 1, line 1:<br>The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.<br>

DB-Lib error message 3903, severity 16:<br>General SQL Server error: Check messages from the SQL Server<br><div style="display: inline;"></div>
<div style="visibility: hidden; display: inline;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup {  position:absolute;  z-index:9999;  padding: 0px 0px;  margin-left: 0px;  margin-top: 0px;  width: 240px;  overflow: hidden;  word-wrap: break-word;  color: black;  font-size: 10px;  text-align: left;  line-height: 13px;}</style>