Janos, I tried the ODBC way and it worked! I was about to give up and do it in C#<br>or some other language but I love Python so much I wanted it to work. <br><br>Thank you SO MUCH!<br><br>And thanks to all of you who helped as well!
<br>You folks are the best. <br><br><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><br>Message: 6<br>Date: Wed, 23 May 2007 08:07:35 +0200
<br>From: J?nos Juh?sz &lt;<a href="mailto:janos.juhasz@VELUX.com">janos.juhasz@VELUX.com</a>&gt;<br>Subject: Re: [Tutor] MSSQL Connection<br>To: <a href="mailto:tutor@python.org">tutor@python.org</a><br>Message-ID:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;
<a href="mailto:OFD30D5C16.F0DCE181-ONC12572E4.001F1BB3-C12572E4.0021A6AC@velux.com">OFD30D5C16.F0DCE181-ONC12572E4.001F1BB3-C12572E4.0021A6AC@velux.com</a>&gt;<br>Content-Type: text/plain; charset=&quot;US-ASCII&quot;<br>
<br>Hi Leon,<br><br><br>&gt; &gt; Hi John,<br>&gt; &gt;<br>&gt; &gt; Here&#39;s the code (I do have permissions to truncate, works manually<br>under<br>&gt; &gt; the same user.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; import pymssql
<br>&gt; &gt;<br>&gt; &gt; con = pymssql.connect<br>&gt; &gt; (host=&#39;server&#39;,user=&#39;user&#39;,password=&#39;pwd&#39;,database=&#39;DB_QA&#39;)<br>&gt; &gt; cur = con.cursor()<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; query=&quot;truncate TABLE bbConsolidatedMessageAcks&quot;
<br>&gt; &gt; cur.execute(query)<br>&gt; &gt; print &quot;Deleted Records: %d&quot; % cur.rowcount<br>&gt; &gt;<br><br>I use two alternatives to connect to mssql server.<br><br>ADODB connection via win32com.client<br>------------------
<br>import win32com.client<br><br>cn =win32com.client.Dispatch(&#39;ADODB.connection&#39;)<br>cn.Provider=&#39;sqloledb&#39;<br>cn.Open(&#39;Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security<br>Info=False;Initial Catalog=production;Data Source=036fefersqls001&#39;)
<br># The argument of cn.Open(), the connection string can be created very<br>easy on windows.<br>#&nbsp;&nbsp;Create a conn.udl on your desktop<br>#&nbsp;&nbsp;Open it with double click, and build a new connection string, test it,<br>save it
<br>#&nbsp;&nbsp;Copy and paste from your .udl<br><br>stockcode = &#39;100701-06&#39;<br>sql = &quot;select * from stocks where stock = &#39;%s&#39;&quot; % stockcode<br><br>print sql<br>rs = win32com.client.Dispatch(&#39;ADODB.recordset
&#39;)<br>rs.Open(sql, cn)<br>print rs.Fields[0].Value<br>rs.Close()<br><br>cn.Close()<br>-----------------<br><br>But I usually use ODBC with this kind of class.<br><br>import dbi, odbc<br><br>class myDB:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self):
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&quot;Open a new connection.&quot;&quot;&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://self.cn">self.cn</a> =<br>odbc.odbc(&#39;DSN=myDB;UID=query;PWD=query;DATABASE=myDB&#39;)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def closeDB(self):
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&quot;Close the connection.&quot;&quot;&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cn.close()<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def Execute(self, sql):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cr = self.cn.cursor()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cr.execute
(sql)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cr.close()<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def Query(self, sql):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cr = self.cn.cursor()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cr.execute(sql)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.colnames
 = [field_prop[0] for field_prop in<br>cr.description]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.result = cr.fetchall()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.rownum = len(self.result)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return self.result<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.colnames = [None]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.result = [[None]]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.rownum = 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return [[None]]<br><br>test = myDB()<br>print(test.Query
(&#39;Select * from testtable&#39;) )<br><br><br>Best regards,<br>Janos<br><br><br><br>------------------------------<br><br>_______________________________________________<br>Tutor maillist&nbsp;&nbsp;-&nbsp;&nbsp;<a href="mailto:Tutor@python.org">
Tutor@python.org</a><br><a href="http://mail.python.org/mailman/listinfo/tutor">http://mail.python.org/mailman/listinfo/tutor</a><br><br><br>End of Tutor Digest, Vol 39, Issue 60<br>*************************************<br>
</blockquote></div><br>