Summary
callproc() currently raises NotSupportedError. It is the only remaining gap to full PEP 249 (DB-API 2.0) cursor interface compliance.
Current behavior
cursor.callproc('dbo.my_proc', [1, 'abc'])
# Raises: NotSupportedError
Workaround
Users must use cursor.execute() with either EXEC or the ODBC {CALL ...} escape sequence:
cursor.execute('{CALL dbo.my_proc(?, ?)}', [1, 'abc'])
Expected behavior
callproc() should execute a stored procedure and return modified copies of the input parameters, per the PEP 249 specification.
Impact
The driver currently reports apilevel = '2.0' and the cursor interface is listed as "Mostly compliant" solely because of this gap.
Summary
callproc()currently raisesNotSupportedError. It is the only remaining gap to full PEP 249 (DB-API 2.0) cursor interface compliance.Current behavior
Workaround
Users must use
cursor.execute()with eitherEXECor the ODBC{CALL ...}escape sequence:Expected behavior
callproc()should execute a stored procedure and return modified copies of the input parameters, per the PEP 249 specification.Impact
The driver currently reports
apilevel = '2.0'and the cursor interface is listed as "Mostly compliant" solely because of this gap.