2016-12-05 50 views
0

我一直在尝试在python中使用mysql连接池。在搜索选项时,我碰到MySQLConnectionPool。它似乎正常工作,但我无法找到如何实现MySQL的一些功能。MySQLConnectionPool中的动态数据库和字典游标

  1. 如何动态选择数据库。
  2. 如何使用dict_cursor。对于没有游泳池 正常的MySQL,我用 cursorclass=MySQLdb.cursors.DictCursor

如果有人知道如何做到这一点,请让我知道。提前致谢。

回答

0

我终于能够实现这一点。

  1. 对于动态数据库,我在python中使用了Lock模块。因为我正在使用池作为服务器,所以我将得到并发请求,这些请求不应该改变整个连接池的数据库。
  2. 对于词典,在创建光标时,我将参数dictionary的值设置为True

    lock.acquire() 
    try: 
        self._pool.set_config(**conn_config) //conn_config contains the modified database details 
        conn = self._pool.get_connection() 
        cursor = conn.cursor(dictionary=True) 
    except PoolError: 
        //do something 
    lock.release()