PYODBC truncates the response of a SQL Server FOR JSON query

后端 未结 2 1574
失恋的感觉
失恋的感觉 2021-01-19 07:59

I\'m having issues trying to get a SQL Server JSON result set to play nicely with PYODBC. My Python/Flask skills aren\'t the best, so I\'m not entirely sure if this is somet

2条回答
  •  傲寒
    傲寒 (楼主)
    2021-01-19 08:27

    I ran into this same bizarre issue today. The JSON result, which ought to be a single row and column, is cut off at 2033 characters.

    However, the result set is all there, just spread across many rows! You can reconstruct it:

    rows = cursor.fetchall()
    json_result = ''
    json_result = json_result.join([row[0] for row in rows])
    

    Or alternately:

    rows = cursor.fetchall()
    search_results = json.loads(''.join([row[0] for row in rows]))
    

    Switching between ODBC Driver 13 for SQL Server and SQL Server drivers didn't help. I'm on Windows 10, Python 3.7, pyodbc 4.0.26, and SQL Server 2017.

    This seems like a bug.

提交回复
热议问题