Вот моя сделка: у меня есть сайт, на котором работает PHP 5 (5.2.5) на сервере Windows, который говорит с базой данных MSSQL 2005 для своих данных. Я обращаюсь к базе данных, используя последнюю версию ADODB. У меня есть таблица с уникальным идентификатором и текстовым полем. Все это работает хорошо и хорошо, пока текстовое поле не достигнет определенного размера (пока не удалось определить точную точку отсечения)PHP и MSSQL - извлечение текстового поля
Проблема возникает, когда я пытаюсь получить строку из базы данных, которая примерно равна 5 миллион символов длинный. Это извлечение отлично работает, если я делаю это через студию управления SQL и возвращает все данные.
SQL-сервер не возвращает сообщение об ошибке, когда запрос выполняется через PHP, но он не возвращает никаких реальных данных.
Я играл с обычными подозреваемыми, как повысит mssql.textlimit и TextSize параметры конфигурации, как так:
ini_set("mssql.textlimit",2147483647);
ini_set("mssql.textsize",2147483647);
Я также попытался не посылать запрос на «установить TextSize 2147483647» с не изменение.
Если я возьму подстроку данных, я теоретически мог бы объединить все это вместе, но подстрока возвращает varchar, который ограничен до 8000 символов, и как таковой потребуется что-то вроде 875 запросов, чтобы получить полную сумму, которая на самом деле не является отличная идея.
У кого-нибудь есть идеи? +
ли ADODB усечения ответ? Это проблема, которую вы пытаетесь преодолеть? – Neel