You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何消除Pandas+pyodbc运行时的SQLAlchemy支持警告?

问题描述

在Anaconda环境(Spyder 4,Python 3.8.8,IPython 7.22.0)中运行以下脚本时一切正常无警告(设备为内网离线环境,管理员每3-4个月更新一次Anaconda)。但同一设备上以计划任务形式使用Python 3.9.5运行时,会弹出警告:

"UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy."

同时任务计划程序报告启动错误,尽管脚本最终能正常运行并发送结果邮件。需要消除该警告,解决任务计划程序的启动错误问题。

相关代码

import pandas as pd
import pyodbc
import requests as rq

conn = pyodbc.connect("Driver={SQL Server};"
                  "Server=Servername;"    
                  "Database=AVR;"
                  "Trusted_Connection=yes;")

df_kontrola = pd.read_sql_query("select ........'",conn)

conn.close()
del conn
....
send email
.... 
解决方法

方法1:改用SQLAlchemy连接(推荐)

pandas高版本对非SQLAlchemy的DBAPI2连接不再提供官方支持,改用SQLAlchemy引擎连接可彻底消除警告。步骤如下:

  1. 联系管理员在离线环境部署sqlalchemy包
  2. 修改代码为SQLAlchemy连接方式:
import pandas as pd
from sqlalchemy import create_engine
import requests as rq

# 构建SQLAlchemy连接字符串
conn_str = "mssql+pyodbc://Servername/AVR?driver=SQL+Server&Trusted_Connection=yes"
engine = create_engine(conn_str)

# 使用引擎执行查询
df_kontrola = pd.read_sql_query("select ........'", engine)

# 关闭引擎连接
engine.dispose()
....
send email
.... 

方法2:临时屏蔽警告(应急方案)

如果暂时无法部署SQLAlchemy,可在脚本开头添加代码屏蔽该特定警告:

import warnings
import pandas as pd
import pyodbc
import requests as rq

# 屏蔽pandas的DBAPI2连接警告
warnings.filterwarnings("ignore", category=UserWarning, message="pandas only supports SQLAlchemy connectable.*")

conn = pyodbc.connect("Driver={SQL Server};"
                  "Server=Servername;"    
                  "Database=AVR;"
                  "Trusted_Connection=yes;")

df_kontrola = pd.read_sql_query("select ........'",conn)

conn.close()
del conn
....
send email
.... 

任务计划程序启动错误说明

任务计划程序的启动错误大概率是因为警告信息被识别为错误输出。解决警告后,该错误通常会自动消失。若仍存在,检查:

  • 计划任务指向的Python 3.9.5可执行文件路径是否正确
  • 任务的工作目录是否设置正确
  • 执行任务的账号是否有足够权限访问相关资源

内容的提问来源于stack exchange,提问作者P.D.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 00:45:36