用Python DBUtils安全連線mssql

2021-09-23 21:39:45 字數 1484 閱讀 9450

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 

=

config.databaseconnpool 

=pooleddb(pymssql, 

*args, 

**conn_kwargs)

#傳入引數時,位置引數要在最前面,關鍵字引數其次,變長引數再次,關鍵字變長引數最後

#args 是 關鍵字引數

#conn_kwargs 變長引數

鄭昀 20071227 

python DBUtils簡單的使用連線池

mark一下直接上。import pymysql from dbutils.pooleddb import pooleddb pool pooleddb pymysql,5,host 127.0.0.1 user username passwd password db dbname port 330...

用GDX寫個安卓小遊戲

最近在看曼達洛人,突然想用小尤達寫個小遊戲,但是沒找到好的素材,又沒打算花太多時間,最後就只能變成這個乾巴巴的小飛機了,就是簡單上手了一下gdx.我們的邏輯就寫在自動生成的core專案下,主要邏輯基本就是在create和render裡了 比較簡單,加入了乙個獎勵邏輯 乙個炸彈邏輯 乙個英雄邏輯,並通...

用hfs快速安裝安卓測試包

之前公司所搭建的安卓專案持續整合只能做到打出乙個對應的安卓測試包,但是沒有辦法幫你把測試包安裝到手機上面。加上手機有多種型號,各種測試機。當測試的時候需要將測試包逐一的部署。那怎麼部署呢。最初的想法是通過用usb線連線的方式。但是這種方式,把測試包放到不同的手機上,則需要多次連線電腦。加上不同的手機...