powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Срочно! Как достать TEXT???
6 сообщений из 6, страница 1 из 1
Срочно! Как достать TEXT???
    #32031073
evgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос из PHP для MSSQL выдает не полностью поле типа TEXT.
В чем проблема.
Поиск по форуму ничего не дает, срывается.
Заранее спасибо за ответы.
...
Рейтинг: 0 / 0
Срочно! Как достать TEXT???
    #32031077
Dankov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй предварительно выполнить "set textsize 2147483647".
...
Рейтинг: 0 / 0
Срочно! Как достать TEXT???
    #32031100
evgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это ничего не дало
...
Рейтинг: 0 / 0
Срочно! Как достать TEXT???
    #32031178
Фотография snake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выдает не полностью поле типа TEXT
Я бы предварительно проверил (в QA например)
code:select datalength(поле) from ...
а потом сравнил с длинной возвращаемого
Запрос из PHP для MSSQL
IMHO а может там и нет его полностью
...
Рейтинг: 0 / 0
Срочно! Как достать TEXT???
    #32031282
evgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том и дело, что все там есть
Нашел идиотский выход: разбивать в процедуре значение поля text на кусочки и выводить в табличке
...
Рейтинг: 0 / 0
Срочно! Как достать TEXT???
    #32031311
Olga Rastokina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
poprobyi etot script , ia ego ispol"zyu
contentlemmes - col_name otkyda ti xochech" vitashit" text ;
url - table name ;
urlid - Primary key dlia table url ;

call sp : get_text @urlid=14

-- Proc get_text does READTEXT in a loop to read chunks of text
-- no larger than 200, or the column size or @@TEXTSIZE, and
-- produces as many rows as necessary to store the text column
-- as a series of sequenced varchar(200) rows

CREATE PROC get_text @urlid char(4)

AS

DECLARE @mytextptr varbinary(16), @totalsize int, @lastread int,
@readsize int
-- Use a TRAN and HOLDLOCK to ensure textptr and text are
-- constant during the iterative reads
BEGIN TRAN


SELECT @mytextptr=TEXTPTR(contentlemmes), @totalsize=DATALENGTH(contentlemmes),
@lastread=0,
-- Set the readsize to the smaller of the @@TEXTSIZE setting,
-- 200, and the total length of the column
@readsize=CASE WHEN (200 < DATALENGTH(contentlemmes)) THEN 200
ELSE DATALENGTH(contentlemmes) END
FROM url
(HOLDLOCK)
WHERE urlid=@urlid

-- If debugging, uncomment this to check values
----SELECT @mytextptr, @totalsize, @lastread, @readsize

-- Do READTEXT in a loop to get next 200 characters until done
IF @mytextptr IS NOT NULL AND @readsize > 0
WHILE (@lastread < @totalsize)
BEGIN
-- If read size would go beyond end, adjust read size
IF ((@readsize + @lastread) > @totalsize)
SELECT @readsize = @totalsize - @lastread

-- If debugging, uncomment this to check values
--- SELECT 'valid ptr?'=textvalid('url.contentlemmes',
--- @mytextptr), 'totalsize'=@totalsize,
--- 'lastread'=@lastread, 'readsize'=@readsize

READTEXT Url.contentlemmes @mytextptr @lastread @readsize
IF (@@error <> 0)
BREAK -- Break out of loop if an error on read
-- Change offset to last char read
SELECT @lastread=@lastread + @readsize

END

COMMIT TRAN
GO
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Срочно! Как достать TEXT???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]