# -*- coding: utf-8 -*-

'''
python coded by

written in 2016/8/31

Used for get win os log for each windows server
'''

'''
pymssql 帮助文档
http://pymssql.org/en/stable/pymssql_examples.html
'''

import pymssql
import MySQLdb
import time

#全局变量
host = "192.168.33.190"
user = "sa"
password = "1111"
dbname = "testdb"
port = 1433

def fetch_row():
try:
#conn = pymssql.connect(host,port,user,password,dbname,charset="UTF-8",timeout=3)
conn = pymssql.connect(server=host,port=port,database=dbname,user=user,password=password,charset="UTF-8",timeout=3)
cursor = conn.cursor()
sql="select schema_id,name from t1"
cursor.execute(sql)
row = cursor.fetchone() #相当于 cursor.next方法
while row:
print("ID=%d, Name=%s" % (row[0], row[1])) #格式化输出

#time.sleep(1) #每次输出等待1秒
row = cursor.fetchone() #输出下一行 cursor.next方法
conn.close()
return 1

except Exception,e:
return e

def change_row():
try:
conn = pymssql.connect(server=host,port=port,database=dbname,user=user,password=password,charset="UTF-8",timeout=3)
cursor = conn.cursor()
#sql="insert into t1 select * from t1"
sql="update t1 set object_id=object_id+1067705889 where name='dm_resource_governor_resource_pool_volumes' "
cursor.execute(sql)
conn.commit()
conn.close()
return 1

except Exception,e:
conn.rollback()
return e

def call_sp_parm():
try:
#conn = pymssql.connect(host,port,user,password,dbname,charset="UTF-8",timeout=3)
conn = pymssql.connect(server=host,port=port,database=dbname,user=user,password=password,charset="UTF-8",timeout=3)
cursor = conn.cursor(as_dict=True)
cursor.callproc('sp_get_dbname', ('testdb',)) #sp名 和 参数
for row in cursor:
print row['name'],row['database_id'] #按列名取数
conn.close()
return 1

except Exception,e:
conn.rollback()
return e

def call_sp_no_parm():
try:
#conn = pymssql.connect(host,port,user,password,dbname,charset="UTF-8",timeout=3)
conn = pymssql.connect(server=host,port=port,database=dbname,user=user,password=password,charset="UTF-8",timeout=3)
cursor = conn.cursor(as_dict=True)
cursor.callproc('sp_get_dbname1',) #sp名 和 参数
for row in cursor:
print row['name'],row['database_id'] #按列名取数

conn.commit()
conn.close()
return 1

except Exception,e:
conn.rollback()
return e

call_sp_no_parm()
call_sp_parm()

fetch_row()

change_row()

python for MSSQLserver的更多相关文章

  1. python 处理中文 读取数据库输出全是问号

    ref:http://www.cnblogs.com/zhoujie/archive/2013/06/07/problem1.html 1.python连接mssql数据库编码问题 python一直对 ...

  2. 如何用 python 优雅地完成数据库课设

    0 前言 偶然间发现 Google 收录了学校实验打卡系统的接口,正好要做数据库课设,便拿来作为 environment. 机房居然装了 python ,早就听说 python 写爬虫速度一流,课上的 ...

  3. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  4. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  5. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  6. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  7. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  8. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  9. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

随机推荐

  1. crawler4j 学习

    crawler4j 学习(一) crawler4j是一个轻量级多线程网络爬虫,开发者可以调用相应的接口在短时间内创建一个多线程网络爬虫. 前期准备 使用maven 为了使用最近版本的crawler4j ...

  2. CSV格式数据如何导入MySQL?

    经常有客户咨询如何将CSV文件导入到MySQL数据库中,特写此文介绍一种方便.快捷的方法. 我们要使用的辅助工具是著名的MySQL管理软件:Navicat for MySQL 1)我准备了一个字符编码 ...

  3. 【hihoCoder】1033: 交错和

    初探数位dp 介绍了数位类统计的基础知识.以下列出其中的基础点: 基本问题 统计在区间[l, r]中满足条件的数的个数 思路 1. [l, r] 将问题转换为 在[0, r]中满足条件的个数 - 在[ ...

  4. PAT自测-5 Shuffling Machine

    原题连接https://pta.patest.cn/pta/test/17/exam/4/question/264 Shuffling is a procedure used to randomize ...

  5. *HDU1829 并查集

    A Bug's Life Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  6. 用PS去除图片中文字的6个方法

    转自:http://www.u148.net/article/486.html 1.使用仿制图章工具去除文字. 这是比较常用的方法.具体的操作是,选取仿制图章工具,按住Alt键,在无文字区域点击相似的 ...

  7. C#的7个原则

    C#的七个原则如下: 1.单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责. 2.开闭原则(Open-Closed Pri ...

  8. requirejs:研究笔记

    模块化历史 模块化异步加载方式 后期维护 查找问题 复用代码 防止全局变量的污染 http://requirejs.cn/ http://requirejs.org/ 我的目录结构 总体步骤 < ...

  9. Java学习路线

    总体思路:由表及里,勤于实践,纵横交错,融会贯通 Java语言----->JDK----->Java虚拟机原理----->编译原理----->操作系统原理----->计算 ...

  10. 刷新本地的DNS缓存数据

    ipconfig /flushdns”执行,刷新本地的DNS缓存数据. ipconfig /displaydns      查看本地DNS缓存记录的命令为:ipconfig /displaydns.你 ...