我正在尝试使用stored procedure
从python
拨打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
?
答案 0 :(得分:2)
从https://github.com/mkleehammer/pyodbc/wiki/Calling-Stored-Procedures开始,pyodbc
未在连接对象上实现.callproc()
方法。您必须使用SQL调用(.execute("{CALL GetAdvMedianTrailing30Days}")
)执行sp。
(这不是一个SQLAlchemy问题,因为您正在泄露抽象以使用pyodbc
进行DB-API调用)