通过sqlalchemy访问存储过程

时间:2019-04-25 10:24:07

标签: python sql-server sqlalchemy

我想使用sqlalchemy通过python访问SQL Server存储过程。我想将查询的表分配给数据框。

我已经在SQL中创建了脚本,并且该脚本返回了正确的表,我尝试将完整脚本粘贴为查询字符串,但这将返回零结果。我已经尝试了简单的“从x中选择*”查询,并且可以完成这些工作。

python
connection = sqlalchemy.create_engine(f"mssql+pyodbc://{usr}:{password}@DUMMYDATABASE?driver=SQL+Server+Native+Client+11.0")

query = """USE [DATABASE_REPORTING]
           GO
           EXEC [dbo].[PARKING_ALERT];"""

df = pd.read_sql(query, connection)

我希望输出是具有约200,000行的数据帧,但会收到以下错误

  

ProgrammingError:(pyodbc.ProgrammingError)('42000',“ [42000]   [Microsoft] [SQL Server本机客户端11.0] [SQL Server]语法不正确   在“ GO”附近。 (102)(SQLExecDirectW)“)[SQL:USE [DATABASE_REPORTING]              开始
             EXEC [dbo]。[PARKING_ALERT];](此错误的背景位于:http://sqlalche.me/e/f405

0 个答案:

没有答案