Python sqlalchemy调用存储过程

时间:2017-08-02 20:25:14

标签: python python-3.x sqlalchemy pyodbc

我正在尝试使用stored procedurepython拨打sqlalchemy。我的代码如下:

@database_connection_wrapper
def get_adv(connection):
    ''' get the adv using a stored proc from the database '''

    connection.callproc("GetAdvMedianTrailing30Days")
    results = list(connection.fetchall())
    print(results)

我收到以下错误: AttributeError: 'pyodbc.Connection' object has no attribute 'callproc'

我按照官方文档上的说明进行操作,但这没有任何区别。

我在python 3.5

是否有不同的方式来呼叫stored procedures

1 个答案:

答案 0 :(得分:2)

https://github.com/mkleehammer/pyodbc/wiki/Calling-Stored-Procedures开始,pyodbc未在连接对象上实现.callproc()方法。您必须使用SQL调用(.execute("{CALL GetAdvMedianTrailing30Days}"))执行sp。

(这不是一个SQLAlchemy问题,因为您正在泄露抽象以使用pyodbc进行DB-API调用)