Типы данных text, ntext и image недопустимы для локальных переменных. после кастинга - PullRequest
0 голосов
/ 08 мая 2019

У меня есть одна хранимая процедура для получения информации о работе. Я привел ntext к nvarchar (max), но все равно получаю сообщение об ошибке:

Msg 2739, Level 16, State 1, Line 5
The text, ntext, and image data types are invalid for local variables.
Msg 2739, Level 16, State 1, Line 7
The text, ntext, and image data types are invalid for local variables.
Msg 2739, Level 16, State 1, Line 8
The text, ntext, and image data types are invalid for local variables.

вот моя хранимая процедура:

ALTER PROCEDURE [dbo].[GetJobInfo]
    (
    @jobId int,
    @subject text OUTPUT,
    @plainText1 nvarchar(max) OUTPUT,
    @ToUser text OUTPUT,
    @Cc text OUTPUT,
    @templateID int OUTPUT
    )
AS
BEGIN
    SET NOCOUNT ON

    SELECT TOP 1 @subject = p.[Title],
        @plainText1 = CONVERT(NVARCHAR(max),p.[Body]),
        @ToUser =p.[ToUser],
        @Cc =p.[Cc],
        @templateID =p.[template_id]
        FROM [tbl_Email_master] p INNER JOIN
        [Jobs] j ON p.[Id] =
        j.[PreparedEmailID]
        WHERE j.[JobID] = @jobId
    RETURN
END

Что здесь не так. Пожалуйста, помогите мне ...

1 Ответ

1 голос
/ 08 мая 2019

У вас есть параметры типа TEXT (@ToUser, @Cc ...), измените их на VARCHAR(MAX) или NVARCHAR(MAX) в соответствии со значениями, которые они будут содержать, в определении параметров SP.Для электронных писем это, вероятно, будет VARCHAR(MAX).

TEXT, NTEXT и IMAGE будут устаревшими , воздержитесь от его использования и попытайтесь обновитьэто всякий раз, когда вы видите это в коде.

...