用Python DBUtils安全连接mssql

 DBUtils 是一套允许线程化 Python 程序可以安全和有效的访问数据库的模块有人在基于Pylons的服务器上测试了使用DBUtils前后的性能对比,看上去似乎性能不错。不失为一个管理数据库连接的办法。

   但连mysql没问题,代码很简单,



from DBUtils.PooledDB import PooledDB
import MySQLdb
pool = PooledDB(MySQLdb, 5,host = "ipip", user = "root", passwd = "....", db = "dbTest") 
"""
PooledDB的第一个参数是creator: either an arbitrary function returning new DB-API 2 
        connection objects or a DB-API 2 compliant database module
也就是说,我们传入一个数据库实现类的module名字即可,它自己会去判断如何建立数据库连接。
"""
db_conn = pool.connection() # 这就是从连接池中获取一个连接的语句
 

   但是针对sqlserver,似乎互联网上没有人提及如何连,而且上面mysql的这种简洁写法也不再适用。一个原因在于python中的_mssql库并不是DB-SIG compliant module,只有与之一同打包的pymssql库(其实pymssql就是在_mssql的基础上按照规范封装了一层罢了)才是。折腾了许久,在google code里也搜索了不少DBUtil python代码,终于摸索出这么一条路子:

import _mssql # 连接Ms sql server 2000的库
import pymssql # DB-SIG compliant module for communicating with MS SQL servers
from DBUtils.PooledDB import PooledDB 

args = (0,0,0,config.pool_max_connections,0,0,None )
conn_kwargs = {'host':databaseHost+','+databasePort, 'user':databaseUserName,'password':databaseUserPwd, 'database'
: databaseName}
config.databaseConnPool = PooledDB(pymssql, *args, **conn_kwargs)
# 传入参数时,位置参数要在最前面,关键字参数其次,变长参数再次,关键字变长参数最后
# args 是 关键字参数
# conn_kwargs 变长参数

郑昀 20071227 

时间: 2024-08-29 02:48:57

用Python DBUtils安全连接mssql的相关文章

通过pyODBC 连接mssql 配置后无法连接

问题描述 widows环境下我用pyodbc连接mssql , pyodbc版本为:pyodbc-2.1.8.win32-py2.7.exe python为:2.7pyodbc安装到python目录成功后,连接代码如下import urllib2from BeautifulSoup import BeautifulSoup,Tagimport reimport osimport stat#import MySQLdbimport pyodbcsource = 'DRIVER={SQL Serve

关于PHP无法连接MSSQL数据库的问题

数据|数据库|问题 今天配置了新服务器,配置是IIS+php,结果运行时发现php连接远程mssql数据库出错,出错代码如下:Warning: mssql_connect(): Unable to connect to server: 想想以前都是没问题的,怎么回事呢?后来去网上搜索,发现一篇文章,才发现原来服务器是需要安装mssql才能用php连接mssql的,本来新服务器上我是不需要用到mssql的,但是现在没办法了,只能把它装上了,安装了mssql之后就没问题了. 我在想,如果是在linu

php连接mssql的方法总结

  为了能让PHP连接MSSQL,系统需要安装MSSQL,PHP,且在PHP.ini中的配置中,将        ;extension=php_mssql.dll前面的;去掉         1.连接MSSQL        $conn=mssql_connect("实例名或者服务器IP","用户名","密码");         //测试连接        if($conn)        {        echo "连接成功&qu

PHP连接MSSQL显示中文时为乱码

PHP连接MSSQL显示中文时为乱码主要是因为编码问题了,我们只要懂得一对于数据库与页面的编码统一处理就可以解决了,下面一起来看看下文. 因为一直在使用 windows 下的 PHP 开发,用的是 mysql 数据库,偶尔也会遇到查询记录的乱码,那是因为 php 编码不支持中文进行导致的,直接将其进行编码解码即可解决,所以在 windows 平台下还是比较容易解决的. 今天在帮一个客户进行 liunx 下维护 mssql 数据库的操作,因站点被攻击的原因,一直无法进行打开站点,折腾了很久,终于连

PHP连接MSSQL配置教程

配置php 1.打开php.in将extension=php_mssql.dll的注释符号去掉. 2.打开php.in将mssql.secure_connection = Off改为on. 3.将php_mssql.dll拷贝到php.in中extension_dir 指定的目录或者系统system32目录下.(php_mssql.dll在php压缩安装包中有). 以上步骤完成后需要重启apache. 测试代码 1.连接MSSQL  代码如下 复制代码 $conn=mssql_connect("

使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题

原文 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题 最近帮客户写了一个.net商城网站的发布接口,大家都知道.net一般都使用MSSQL数据库,但鱼丸不会.net呀,没办法,只能使用PHP连接SQL Server,然后来发布商品数据.因为客户采集的英文网站,但是要求发布时翻译成德语,发布完了,结果发现标题内容这些地方有乱码,在网上找了大半天,也试了很多种方法,结果使用SQLSRV解决了问题! 官方网址:http://msdn.microsoft.com

求救!!!python paramiko远程连接LINUX,exec_command出错

问题描述 求救!!!python paramiko远程连接LINUX,exec_command出错 各位大神,小弟最近用paramiko远程连接Liunx服务器的时候用"exec_command"执行grep查询数据的时候,查询到的数据条数超过200条的时候"exec_command"就返卡住在那里不动了,这是为什么呢,怎么解决啊!哪位大神不腻赐教,跪求啊! 解决方案 没有人么,求救啊!实在是不知道该怎么办啊

python采用ado连接access数据库的标准语句

python采用ado连接access数据库的标准语句.优点是可以使用rs(recordset),缺点是不能使用odbc标准的cursor,且仅仅能在windows环境使用 #!/usr/bin/env python # -*- coding: utf-8 -*- # file : dbconn.py class Cls_ado: def __init__(self): #win32com.client import win32com.client #创建COM对象 self.conn=win3

app-Android通过jtds连接mssql,如何判断是否连接成功和执行sql语句后是否为空,求大神指教

问题描述 Android通过jtds连接mssql,如何判断是否连接成功和执行sql语句后是否为空,求大神指教 连接实例已经学会啦,但app启动后只能等待超时来判断是否连接到mssql,可如果sql语句执行后为空记录的话也只能等连接超时才能知道,我不知道如何做这两项判断,麻烦知道的给我写下实例好吗? 解决方案 http://blog.sina.com.cn/s/blog_60b5e13e0101mlot.html 解决方案二: http://www.2cto.com/database/20141