adodbapi 库

开启阅读模式

使用Python操作MSSQL数据库.

有时想更新或迁移部分SqlServer数据,用SQL只会整几句select,高级点的连个游标都玩不转有木有?拿起VS写个小程序不停的改又编译很烦,有木有?

想用脚本写了有木有?

本文介绍使用python,adodbapi操作数据库:

adodbapi 库
python 可以操作mssqlserver的类库有几个,支持python3.x的目前没几个靠谱的. adodbapi是使用ADO操作的.(不能跨平台?需要么?)
所以首先要安装  

Python for Windows extensions

    ,有了pywin32这个扩展可以做很多事,用它操作EXCEL等,甚至比VBScript还要简洁
如:
'''
     self.xlBook=self.xlApp.Workbooks.Open(filename)
     sht = self.xlBook.Worksheets(sheet)   
      sht.Cells(row, col).Value = value 
'''
详细过程:


首先添加引用:
import adodbapi
adodbapi.adodbapi.verbose = False # adds details to the sample printout
import adodbapi.ado_consts as adc
创建连接:
    Cfg={'server':'192.168.29.86\\eclexpress','password':'xxxx','db':'pscitemp'}
    constr = r"Provider=SQLOLEDB.1; Initial Catalog=%s; Data Source=%s; user ID=%s; Password=%s; " \
         % (Cfg['db'], Cfg['server'], 'sa', Cfg['password'])
    conn=adodbapi.connect(constr)
其中Cfg是个key-value字典,constr格式化语法是python2.x常用,在3.x可以使用下面的.
执行sql语句:
    cur=conn.cursor()
    sql='''select * from softextBook where title='{0}' and remark3!='{1}'
    '''.format(bookName,flag)
    cur.execute(sql)
    data=cur.fetchall()
    cur.close()
其中三个引号类似于C#字符串前的"@",python中字符串可以用一个或两个,三个括起来,format格式化语法也类似
执行存储过程:
     #假设proName有三个参数,最后一个参数传了null
    ret=cur.callproc('procName',(parm1,parm2,None))
    conn.commit()
关闭连接
conn.close()
很简单有木有?
更多代码示例见安装目录下里的unit test代码:
C:\Python31\Lib\site-packages\adodbapi\tests
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值