我在尝试获取 SQL Server JSON 结果集以与 PYODBC 配合使用时遇到问题。我的 Python/Flask 技能不是最好的,所以我不完全确定这是否是我在做的蠢事,或者驱动程序不能使用 JSON。
失败的进程正在调用一个存储过程,该过程SELECT使用FOR JSON PATH. 程序本身很好,结果集在 SSMS 中看起来是正确的。
但是,在以下代码块中,为其赋值的行search_results引发错误。
with DB() as cnxn:
results = cnxn.query('dbo.getLocationByTrain', params)
search_results = json.loads(results.fetchone()[0]);
Run Code Online (Sandbox Code Playgroud)
错误是:
Traceback (most recent call last):
File "C:\Users\Mark\source\repos\CommuteTo\CommuteTo\env\lib\site-packages\flask\app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Mark\source\repos\CommuteTo\CommuteTo\env\lib\site-packages\flask\app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\Mark\source\repos\CommuteTo\CommuteTo\env\lib\site-packages\flask\app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\Mark\source\repos\CommuteTo\CommuteTo\env\lib\site-packages\flask\_compat.py", line 33, in reraise
raise value
File "C:\Users\Mark\source\repos\CommuteTo\CommuteTo\env\lib\site-packages\flask\app.py", line 1612, in …Run Code Online (Sandbox Code Playgroud)