none
Problema com XML no SQL Server 2005 RRS feed

  • Pergunta

  • Pessoal estou com um problema, estou construindo uma Stored Procedure para realizar uma busca, sendo que os parãmetros serão quantos o usuário quiser, Dai estou tendo que usar XMl no SQL Server 2005, o código é o seguinte:

    CREATE

     

    PROCEDURE obtemImoveisBuscaAvancada

    @xmlCaracteristicas

    varchar(5000),

    @xmlBairro

    varchar(5000),

    @xmlTipo

    varchar(5000),

    @iddoc1

    int,

    @iddoc2

    int,

    @iddoc3

    int

    AS

     

    EXEC SP_XML_PREPAREDOCUMENT @iddoc1 OUTPUT, @xmlTIPO

     

    EXEC SP_XML_PREPAREDOCUMENT @iddoc2 OUTPUT, @xmlCaracteristicas

     

    EXEC SP_XML_PREPAREDOCUMENT @iddoc3 OUTPUT, @xmlBairro

     

    SELECT IMOVEL.IMOVEL_ID, IMOVEL_CARACTERISTICA.IMOVEL_CARACTERISTICA, IMOVEL_CARACTERISTICA.IMOVEL_CARACTERISTICA_VALOR, IMOVEL.TIPO_COMPLEMENTO

     

     

    FROM IMOVEL LEFT OUTER JOIN IMOVEL_CARACTERISTICA

     

    ON IMOVEL.IMOVEL_ID = IMOVEL_CARACTERISTICA.IMOVEL LEFT OUTER JOIN IMOVEL_TIPO

     

    ON IMOVEL_TIPO.IMOVEL = IMOVEL.IMOVEL_ID LEFT OUTER JOIN IMOVEL_BAIRRO

     

    ON IMOVEL.IMOVEL_ID = IMOVEL_BAIRRO.IMOVEL

     

    WHERE IMOVEL_CARACTERISTICA.IMOVEL_CARACTERISTICA IN (

     

    SELECT text

     

    FROM OPENXML(@iddoc2,'/RAIZ/CARACTERISTICA',2)

     

    WHERE text IS NOT NULL)

     

    AND IMOVEL_TIPO.IMOVEL_TIPO_ID IN(

     

    SELECT text

     

    FROM OPENXML(@iddoc1,'/RAIZ/TIPO_ID',2)

     

    WHERE text IS NOT NULL)

     

    AND IMOVEL_BAIRRO.CEP_BAIRRO IN(

     

    SELECT text

     

    FROM OPENXML(@iddoc3,'/RAIZ/ID_BAIRRO',2)

     

    WHERE text IS NOT NULL)

     

    Quando vou gerar essa stored procedure ele dá uma mensagem dizendo:

    Operand type clash: ntext is incompatible with int


    Quando dou um Duplo clique na mensagem o SQL Server seleciona o SELECT, mas não encontrei nada de errado no SELECT, parece que ele tá reclamando quando executo a Stored Procedure para preparar os documentos, Mas segundo pesqueisas que realizeis e artigos que andei lendo é dessa forma mesmo que executa a preparação dos documentos no OpenXML. O que pode estar errado? Alguém me daria uma luz?


    Se chiar resolvesse sal de fruta não morria afogado
    quinta-feira, 5 de novembro de 2009 19:24

Respostas