【发布时间】:2020-07-07 15:50:52
【问题描述】:
我在获取由 sqlalchemy 调用的存储过程返回的结果时遇到问题,我看到即使存储过程返回一个整数 sql alcehmy。结果集设置为无,这导致了一些问题,有人可以告诉我发生了什么吗?
CREATE PROCEDURE [SYSDATA].[getCertificateInstallStatus]
@DVSystemName [varchar](max)
AS
BEGIN
declare @system_state int = (SELECT state FROM SYSDATA.certificate where DVSystemName = @DVSystemName)
if @system_state is not NULL
Return @system_state
Return 0
END
现在执行这个存储过程:
DECLARE @return_value int
EXEC @return_value = [SYSDATA].[getCertificateInstallStatus]
@DVSystemName = N'UATDSG'
SELECT 'Return Value' = @return_value
GO
调用此过程返回:
Return Value
0
Python 错误跟踪:
Traceback(最近一次调用最后一次):文件 “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/SQLAlchemy-1.2.7-py3.6-macosx-10.9-x86_64.egg/sqlalchemy/engine/result.py” , 第 1067 行,在 _fetchone_impl 中 return self.cursor.fetchone() AttributeError: 'NoneType' object has no attribute 'fetchone'
在处理上述异常的过程中,又发生了一个异常: ...... 文件 “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/SQLAlchemy-1.2.7-py3.6-macosx-10.9-x86_64.egg/sqlalchemy/engine/result.py” , 第 1089 行,在 _non_result 中 “这个结果对象不返回行。” sqlalchemy.exc.ResourceClosedError:这个结果对象不返回 行。它已自动关闭。
【问题讨论】:
标签: python sql-server sqlalchemy