首页 > 数据库 >linux下安装pymssql

linux下安装pymssql

时间:2022-12-20 11:07:54浏览次数:84  
标签:__ self cursor linux pymssql 安装 def row


各版本的下载地址:​​https://pypi.python.org/pypi/pymssql/​


Windows可以下载installer文件,直接是编译好的,可以直接安装


Linux下需要安装几个基础类库:

Cython:pip install Cython        ##python包

freetds-dev:yum install freetds-devel.x86_64 / apt-get install freetds-dev   ##linux包

最后安装pymssql: pip install pymssql


测试:

import pymssql  
conn = pymssql.connect(host=host, user=user, password=password,
database=database, charset='utf8', port='1433', as_dict=False)
cursor = conn.cursor()
sql = "select * from payment where id in (59,60)"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
print row

简单封装:适用于大量数据查询,提高性能

#encoding=utf-8
import pymssql

class CursorWapper:
def __init__(self, cursor):
self.cursor = cursor

def query(self, sql):
db_cursor = self.cursor
self.cursor.execute(sql)
if db_cursor.description:
names = [x[0] for x in db_cursor.description]
def iterwrapper():
row = db_cursor.fetchone()
while row:
yield dict(zip(names, row))
row = db_cursor.fetchone()
class IterBetter:
def __init__(self, iter):
self.i = iter
def __iter__(self):
while 1:
yield self.i.next()
def __nonzero__(self):
if hasattr(self, "__len__"):
return len(self) != 0
out = IterBetter(iterwrapper())
out.__len__ = lambda: db_cursor.rowcount!=0 and 1 or 0 ##当前版本有一个bug,rowcount始终为-1,如果有结果
return out

def test(host, user, password, database):
conn = pymssql.connect(host=host, user=user, password=password,
database=database, charset='utf8', port='1433', as_dict=False)
cursor = conn.cursor()
return CursorWapper(cursor)

if __name__=='__main__':
newdb = test(host, user, password, database)
sql = "select * from payment where id in (59,60)"
results = newdb.query(sql)
for row in results:
print row




标签:__,self,cursor,linux,pymssql,安装,def,row
From: https://blog.51cto.com/u_15918230/5954437

相关文章

  • gem使用代理安装ruby-debug-base19
    gem使用代理的两种方式:方式一:>>SEThttp_proxy=http://ip_or_host:PORT>>geminstallthe_package_name方式二:>>gemlist-phttp://user:passwd@ip_or_host:8080-r安装ru......
  • Perf -- Linux下的系统性能调优工具
    Perf简介Perf是用来进行软件性能分析的工具。通过它,应用程序可以利用PMU,tracepoint和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题(pert......
  • linux 配置yum源
    1. 切换到yum源配置目录cd/etc/yum.repos.d/2.备份所有配置文件mkdirbackmv*./back3.新建一个xxx.repo文件touchCentos-Base.repo4.编辑文件内......
  • 让Linux任务在后台可靠运行的几种方法
     我们经常会碰到这样的问题,用telnet/ssh登录了远程的Linux服务器,运行了一些耗时较长的任务,结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终......
  • 导轨安装DIN11 IPO EM系列小体积单输入单输出单电源供电电磁隔离转换器
    概述:导轨安装DIN11IPOEM系列模拟信号隔离放大器是一种将输入信号隔离放大、转换成按比例输出的直流信号混合集成电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备......
  • 记一次 windows server 2012R2 上安装 MSSQL2005 及网站发布
    背景:原因是因为没有购买新的数据库授权。由于之前服务器是windows2003 由于后绪网站的版本可能会升到.net4.5 据说2003上安装不起所有由另一同事到客户安装一个window......
  • linux 中如何查找在过去一段时间内修改过的文件
     001、查找在过去五分钟内修改过的文件find./-mmin-5 002、查找在过去10分钟内修改过的文件find./-mmin-10 003、查找在过去一天内修改过的文件......
  • linux 中记录程序运行的时间
     001、[root@pc1test1]#start=$(date+%s)##记录程序的开始时间[root@pc1test1]#echo$start1671529118[root@pc1test1]#end=$(date+%s)##......
  • linux系统更改主机名和用户名
    Linux权限系列--修改主机名、用户名的方法(有示例)https://blog.csdn.net/feiying0canglang/article/details/126449423  ......
  • SELinux初探
    SELinux初探自己总结出来的SELinux部分,仅供参考。SELinux是一个内核模块。SELinux的运行模式主体:SELinux主要管理的就是进程,你可以将【主体】跟进程划上等号。目标:主......