百度空间 | 百度首页 
 
查看文章
 
Bridging Python and MS SQLServer
2008-12-22 20:15

pymssql - Simple MSSQL Python extension module

http://pymssql.sourceforge.net/

Example script - _mssql module (lower level DB access)

import _mssql

mssql=_mssql.connect('192.168.13.122','sa','')
mssql.select_db('tempdb')

# create db

query="create table pymssql (no int, comment varchar(50));"

ret = mssql.query(query)
if ret:
    print "create table: %d" % ret
    print mssql.fetch_array()
else:
    print mssql.errmsg()

# insert

for x in range(10):
    query="insert into pymssql (no,comment) values (%d,'%dth comment');" % (x+1,x+1)
    ret=mssql.query(query)
    if ret:
        print "insert table: %d" % ret
        print mssql.fetch_array()

    else:
        print mssql.errmsg()

# update

for x in range(10):
    query="update pymssql set comment='%dth hahaha.' where no = %d" % (x+1,x+1)
    ret=mssql.query(query)

    if ret:
        print "update table: %d" % ret
        print mssql.fetch_array()
    else:
        print mssql.errmsg()

# multiple query and multiple result

query="EXEC sp_tables; select * from pymssql;"
for x in range(10):
    if mssql.query(query):
        header=mssql.fetch_array()
        for y in header:
            print y
        #print x,header[0][0][0],len(header[0][1][0])

    else:
        print mssql.errmsg()
        print mssql.stdmsg()

# drop table

query="drop table pymssql;"
ret = mssql.query(query)
if ret:
    print "drop table: %d" % ret
    print mssql.fetch_array()

else:
    print mssql.errmsg()

mssql.close()
 

Example script - pymssql module (DB API 2.0)

import pymssql

con = pymssql.connect(host='192.168.13.122',user='sa',password='',database='tempdb')
cur = con.cursor()

query="create table pymssql (no int, fno float, comment varchar(50));"
cur.execute(query)
print "create table: %d" % cur.rowcount

for x in range(10):
    query="insert into pymssql (no,fno,comment) values (%d,%d.%d,'%dth comment');" % (x+1,x+1,x+1,x+1)
    ret=cur.execute(query)
    print "insert table: %d" % cur.rowcount
    

for x in range(10):
    query="update pymssql set comment='%dth hahaha.' where no = %d" % (x+1,x+1)
    ret=cur.execute(query)
    print "update table: %d" % cur.rowcount
    

query="EXEC sp_tables; select * from pymssql;"
for x in range(10):
    cur.execute(query)

    while 1:
 print cur.fetchall()
 if 0 == cur.nextset():
     break

query="drop table pymssql;"
cur.execute(query)
print "drop table: %d" % cur.rowcount

con.commit()
con.close()
好多库都没有跟进Py3K, 所以我也暂时不跟进了 嗯
 
 

类别:默认分类 | 浏览() | 评论 (0)
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu