Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Работа с типом ntext и READTEXT.  [new]
igor_ku
Member

Откуда:
Сообщений: 129
В таблице [Workflow] есть поле [WorkflowXML] типа ntext. В нем лежит большой текст. В QA на такой скрипт:

sp_tableoption 'Workflow', 'text in row', 'Off'
declare @id int
select @id = 1

declare @size int
select @size = datalength( WorkflowXMl)
from Workflow
where WorkflowId = @id

select @size as [SIZE]

DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(WorkflowXML)
FROM Workflow
where WorkflowId = @id

READTEXT Workflow.WorkflowXML @ptrval 0 @size
Получаю вот такой результат:

SIZE        
----------- 
40772

(1 row(s) affected)

Server: Msg 7124, Level 16, State 1, Line 17
The offset and length specified in the READTEXT statement is greater than the actual data length of 20386.
Как с этим побороться и считать все значение?
Заранее спасибо.
18 окт 05, 14:35    [1979419]     Ответить | Цитировать Сообщить модератору
 Re: Работа с типом ntext и READTEXT.  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
select @size = datalength( WorkflowXMl) / 2
У вас же юникод...

Читаем хелп:

size

Is the number of bytes (when using the text or image data types) or characters (when using the ntext data type) of data to read. If size is 0, 4 KB bytes of data are read.
18 окт 05, 14:55    [1979580]     Ответить | Цитировать Сообщить модератору
 Re: Работа с типом ntext и READTEXT.  [new]
igor_ku
Member

Откуда:
Сообщений: 129
Но тогда не весь текст выбирается.
18 окт 05, 15:08    [1979675]     Ответить | Цитировать Сообщить модератору
 Re: Работа с типом ntext и READTEXT.  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Да ну? А может, это у вас клиент не все отображает? Например, в QA в меню->Tools->Options->закладка Results есть такая настройка - Maximum characters per column.
18 окт 05, 15:18    [1979754]     Ответить | Цитировать Сообщить модератору
 Re: Работа с типом ntext и READTEXT.  [new]
igor_ku
Member

Откуда:
Сообщений: 129
Спасибо.
Я чувствовал что вопрос легкий. В указанном месте установлено 8192, т.е. максимум. Но этого все равно мало для таких данных как у меня.
Немного потормозил сегодня :(
18 окт 05, 15:22    [1979789]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить