使用SQLAlchemy的Pandas ODBC连接似乎无法正确接近SYBASE IQ

时间:2018-08-03 09:06:44

标签: python pandas sqlalchemy odbc sybase-iq

我正在使用SQLAlchemy通过ODBC建立连接以填充Pandas数据框。但是,一段时间不使用笔记本电脑后,如果重新启动查询,则会出现以下错误:

  

DBAPIError :(错误)('HY000','[HY000] [Sybase] [ODBC驱动程序] [Sybase IQ]连接已终止(-308)(SQLExecDirectW)')'选择user_name()作为user_name'()

解决方案是多次(通常是3次)重新启动该语句,然后重新运行。

我的代码:

import sqlalchemy as sa
from sqlalchemy.pool import NullPool 
import pandas as pd

def read_query_return_df(sql_query='SELECT \'Hello\' FROM dummy'):
    engine = sa.create_engine('sybase+pyodbc://@sybaseiqdatabase', poolclass=NullPool) 
    connection = engine.connect()

    df_sql = pd.read_sql(sql_query, engine)

    connection.close()
    engine.dispose()
    return df_sql

我不能正确关闭连接吗?我可以关闭数据库连接以避免发生错误吗?

0 个答案:

没有答案