Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > (PHP + MS SQL) Проблема с типом "text"


Автор: Alixan 13.11.2010, 12:00
Добрый день всем участникам форума.

У меня следующий вопрос, скажем "вопрос на засыпку".
Подскажите пожалуйста, какой тип в MsSQL предназначен для работы с большими текстами? Для примера, в MySQL в отличие от MsSQL, имеется тип "longtext"!

Пришлось поставить тип "text", но он обрезает введённый мною текст, т.к. текст оказывается больше, чем максимальная длина данного типа. Пытался изменить поле "length" данного типа, но он не меняется, вообще не реагирует. Как "16" было, так и осталось... Может, возможно ли каким-то путём увеличить данное число?

Очень надеюсь на оперативную помощь.  
С уважением, Алихан


Автор: Akina 13.11.2010, 12:46
text
ntext
binary

http://msdn.microsoft.com/ru-ru/library/ms187752.aspx

Цитата(Alixan @  13.11.2010,  13:00 Найти цитируемый пост)
Пришлось поставить тип "text", но он обрезает введённый мною текст, т.к. текст оказывается больше, чем максимальная длина данного типа. 

Больше 2 гигабайт? ты нигде не лопухаешься?

Автор: kobra 14.11.2010, 22:03
nvarchar(MAX)
varchar(MAX)
varbinary(MAX)

Автор: Alixan 18.11.2010, 10:55
Всё-таки в MSSQL на тип "text" установлены какие-то ограничения! Хотя, после того как "поставил" MSSQL - всё ставил по умолчанию, настройки не ковырял.
Как я уже говорил, в поле "length" стоит число 16! Размер текстовой информации больше 4Кб не сохраняется в базе (всё остальное обрезает). Именно больше 4Кб.

Возможно ли как-нибудь способом отредактировать поле "length" в типе "text" ?

Автор: Akina 18.11.2010, 11:59
Цитата(Alixan @  18.11.2010,  11:55 Найти цитируемый пост)
в поле "length" стоит число 16

Где именно? скриншот или вменяемое описание места.

Цитата(Alixan @  18.11.2010,  11:55 Найти цитируемый пост)
Размер текстовой информации больше 4Кб не сохраняется в базе (всё остальное обрезает). Именно больше 4Кб.

Где именно? как именно проверили? Что показывает Query Analyzer?

Автор: Alixan 18.11.2010, 13:03
Всё ОК. Разобрался smile

Опишу решение, может пригодится в будущем для вас.

Проблема была в конфликте PHP + MSSQL, из-за этого размер текстового типа по умолчанию встал 4Кб (причём изменить через Enterprise Manager было невозможно). 
Помогло следущее... Я добавил записи в файл php.ini , которые указывали на увеличение текстового типа. Всё заработало smile Это из серии, если Магомед не идёт к горе, то гора пойдёт к Магомеду... Главное - Работает smile))))))))))

Спасибо за внимание, и оказанную помощь.

Автор: Akina 18.11.2010, 13:09
Это из серии "MS SQL оказался не при чём". Я, правда, полагал, что работа с сервером идёт через какой-то контрол (и проблема соответственно в контроле) - но суть та же.


M
Akina
Тема перенесена.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)