Как преодолеть «Невозможно извлечь переменные text, ntext и image». на SQL Server? - PullRequest
0 голосов
/ 05 мая 2009

Я получаю это сообщение об ошибке: Сообщение 16927, уровень 16, состояние 1, процедура GetWfGenProcessParameters, строка 21 Невозможно извлечь переменные text, ntext и image.

Мне действительно нужно, чтобы этот курсор работал с текстовыми данными. Есть ли способ обойти эту ошибку?

Ответы [ 2 ]

2 голосов
/ 05 мая 2009

Если вы используете SQL Server 2005, вы можете использовать NVARCHAR(MAX):

CREATE TABLE text_test (test NTEXT NOT NULL)

INSERT
INTO    text_test
VALUES  ('test')

DECLARE @t NVARCHAR(MAX);

DECLARE txt_cur CURSOR FOR
        SELECT test
        FROM   text_test

OPEN    txt_cur

FETCH   NEXT
FROM    txt_cur
INTO    @t

CLOSE txt_cur

DEALLOCATE txt_cur
GO

DROP TABLE text_test
GO
1 голос
/ 05 мая 2009

Во-первых, почему вы используете курсор, следует избегать курсоров любой ценой. Если вы используете решение на основе множеств, возможно, ваша проблема исчезнет. Однако без большей идеи о том, что вы пытаетесь сделать с помощью курсора, трудно дать совет. Конечно, я не могу изменить тот факт, что SQL Server не позволяет вам помещать текстовые данные в переменную. Когда вы соответствуете системным ограничениям, вам нужно переосмыслить то, что вы делаете и как вы это делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...