限制通过pyodbc与SQL Server数据库的多个连接?

时间:2019-03-26 16:08:20

标签: python sql sql-server pyodbc database-administration

我使用pyodbc连接到服务器,并使用pandas.read_sql方法将数据拉入数据帧。然后,我用这些数据框中的数据填充报告。我要确保除非绝对需要,否则我不会在不关闭数据库的情况下创建与数据库的多个连接。

当前我得到了想要的结果,但是我的代码连接到数据库的次数过多,从而增加了开销,阻塞了进程等。

def connect_db(server=server_name):
    config = {
        'DRIVER': '{ODBC Driver 13 for SQL Server}',
        'TRUSTED_CONNECTION': 'Yes',
        'SERVER': server
    }
conn = pyodbc.connect(**config)
return conn

def pull_sales(conn=connect_db()):
    with open(sales_query) as f:
        sales_sql = sales_query

    data = pd.read_sql(sales_sql, conn)
return data


def pull_employees(conn=connect_db()):
    with open(employee_query) as f:
        employee_sql = employee_query

    data = pd.read_sql(employee_sql, conn)
return data

如上所述,如何仍能提取员工和销售数据,同时确保在不关闭它们的情况下不创建多个连接?谢谢!

0 个答案:

没有答案