[MSSQL] Problem z konwersją varchar do text

0

Cześć,

Chciałem by procedura zwracała mi dokument formatu XML, który nie koniecznie będzie tylko rozwinięciem wyników zapytania.

Napisałem taki kawałek kodu:

CREATE PROCEDURE [dbo].[PR_2]
    @iXml            text    OUTPUT
AS


SET @iXml = ''


SELECT
    @iXml = @iXml
    + '<ArticleNode>'
        + '<Article>' + CONVERT(text, [a].[Article]) + '</Article>'
    + '</ArticleNode>'
FROM
    [TB_DOC_Article] [a]

Pole [Article] w tabeli [TB_DOC_Article] jest typu int, więc rzutuję je na text. Mimo to podczas wykonywania dostaję komunikat:

Msg 402, Level 16, State 1, Procedure PR_2, Line 9
The data types text and varchar are incompatible in the add operator.

Problem rozumiem, nie bardzo wiem jak mogę go poprawić. Będę wdzięczny za pomoc.

0

To konwertuj na varchar...

0

Varchar ma maksymalnie 8000 znaków. To niestety za mało, na dane które będzie reprezentował ten dokument.

0

Dzięki za link. Ale to na MSSQL 2000 nie pójdzie - masz jeszcze inny ratunek?

0

Aaaa, bo to mssql 2000 :P Tego nie pisales... Po stronie klienta/w warstwie biznesowej nie mozesz tego poskladac?

0

Pewnie tak będę musiał do tego problemu podejść :) Chociaż za jakiś czas na pewno będzie trzeba przesiąść się na MSSQL 2008 :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1