Как получить весь столбец VARCHAR (MAX) с Python pypyodbc
У меня есть программа Python, которая подключается к базе данных MSSQL с помощью подключения ODBC. Я использую библиотеку Python - pypyodbc.
Вот моя установка:
Windows 8.1 x64SQL Server 2014 x64Python 2.7.9150PyPyODBC 1.3.3Драйвер ODBC: собственный клиент SQL Server 11.0У меня проблема в том, что когда я запрашиваю таблицу со столбцом varchar (max), содержимое усекается.
Я новичок в pypyodbc, и я искал вокруг как сумасшедший и не могу найти ничего о том, как предотвратить это в pypyodbc или даже в pyodbc. По крайней мере, не с поисковыми терминами, которые я использовал, и я не знаю, какие другие фразы попробовать.
Я даже пытался добавитьSET TEXTSIZE 2147483647;
на мой запрос SQL, но данные все еще усекаются.
Как я могу предотвратить это? Или вы можете указать мне правильное направление, пожалуйста?
ОБНОВИТЬ:
Итак, я попытался выполнить приведение в моем запросе SQL. Когда я делаюCAST(my_column as VARCHAR(MAX))
он усекается в той же позиции. Однако, если я сделаюCAST(my_column as VARCHAR(8000))
он дает мне больший набор текста, но он все еще усекает часть содержимого. Если я попытаюсь сделать что-то большее, чем8000
Я получаю сообщение об ошибке, что8000
это самое большое, что я могу использовать. Кто-нибудь знает, что здесь может происходить? Кажется странным, что с помощьюMAX
не сработает