zoukankan      html  css  js  c++  java
  • 通过pypyodbc使用SQL server

    通过pypyodbc使用SQL server

    不像pyodbc需要C, pypyodbc是纯python的实现, 安装起来非常方便.  

    创建连接:

    #在操作系统上先配odbc, 然后在代码中指定odbc的dsn, 注意即使odbc中配置了密码, 代码还是需要设密码.

    conn = pypyodbc.connect('''DSN=your_dsn;UID=sa;PWD=your_password;''')

    #在操作系统上不配odbc, 在代码中指定Driver和db

    conn = pypyodbc.connect('''DRIVER={SQL Server};SERVER=localhost;DATABASE=testdb;UID=sa;PWD=pass''')

    conn = pypyodbc.connect('''DRIVER={SQL Server};SERVER=localhost;DATABASE=testdb;Trusted_Connection=yes''')

    普通的SQL执行, 不用讲了, 基于DB API都差不多.  但有两类SQL, 需要特别注意.   

    第1类是: backup 等命令. 在cursor.execute()后, 还必须要循环完 cursor.nextset()的记录集, 备份才生效. 

    第2类是: ALTER FULLTEXT INDEX ... START FULL POPULATION等命令. 这类SQL的特点是: 下SQL之后, SQL server会启动一个执行进程,然后立即将控制权送回.  pyodbc执行这样的语句, 会直接报错. google了很久, 没有解决方法, 最后, 我只能绕过: 即采用python调用sqlcmd命令行工具来执行这些操作.

    参考文章

    http://ryepup.unwashedmeme.com/blog/2010/08/26/making-sql-server-backups-using-python-and-pyodbc/

     
  • 相关阅读:
    SQL Server 2005 System Views Map
    SQL语句实现移动数据库文件
    重写系统存储过程:sp_spaceused
    MSSQL2005中的架构与用户
    根据时间段计算有n年n月n天
    Linux中的环境变量 (转)
    计算工龄,格式为n年n月n天
    学习递归CTE
    分区表应用例子
    根据备份文件直接还原数据库
  • 原文地址:https://www.cnblogs.com/harrychinese/p/use_mssql_via_pypyodbc.html
Copyright © 2011-2022 走看看