• 使用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
  • 相关阅读:
    flash as3笔记1
    C# api 得到机器名
    Windows命令行 命令大全
    Adobe SVG View 动态修改src的问题
    onekeyghost 备份系统
    WCF寄存于Windows服务,通过Form进行调用
    RDLC报表自定义数据集
    电气工程图形符号
    解决Extjs TextField回车事件后刷新页面问题
    C# Windows服务自动安装与注册
  • 原文地址:https://www.cnblogs.com/solo/p/2193343.html
Copyright © 2020-2023  润新知