python多線程下連接SQL server


  在多線程下用pymssql連接sql server偶爾會出現連接失敗的錯誤,所以考慮創建數據庫連接池,主要通過python的DBUtils庫實現,下載直接pip install dbutils.

import pymssql
from DBUtils.PooledDB import PooledDB


class ConnSql(object):

    def __init__(self):
        self.pool = self.create_pool()

    def create_pool(self):
        """
        創建數據庫連接池
        :return: 連接池
        """
        pool = PooledDB(creator=pymssql,
                        maxconnections=32,  # 連接池允許的最大連接數,0和None表示不限制連接數
                        mincached=15,  # 初始化時,鏈接池中至少創建的空閑的鏈接,0表示不創建
                        maxcached=0,  # 鏈接池中最多閑置的鏈接,0和None不限制
                        maxusage=None,  # 一個鏈接最多被重復使用的次數,None表示無限制
                        blocking=True,  # 連接池中如果沒有可用連接后,是否阻塞等待。True,等待;False,不等待然后報錯
                        host='127.0.0.1:1433',
                        user='MobileDB',
                        password='',
                        ping=0,
                        database='Test',
                        charset='utf8')
        return pool

    def test(self):
        conn = self.pool.connection()
        cursor = conn.cursor()
        print(conn)
        print(cursor)


if __name__ == '__main__':
    ConnSql().test()


#  <DBUtils.PooledDB.PooledDedicatedDBConnection object at 0x000001FE86B9A828>
#  <DBUtils.SteadyDB.SteadyDBCursor object at 0x000001FE86E16A20>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM