none
Textos longos Sql Server 2008 R2 RRS feed

  • Pergunta

  • Preciso armazenar textos muitos longos em uma tabela sqlserver 2008 r2, porem estou com problemas

    gostaria de saber se existe um tipo de campo texto com tamanho ilimitado, em média precisaria de 10 mil a 12 mil caracteres, já coloquei varchar(max) porêm não resolveu, ocorre que ele corta o texto. 

    Existe algum tipo de campo de texto ilimitado? ou com tamanhos acima de 10 mil?

    sexta-feira, 19 de julho de 2013 04:11

Todas as Respostas

  • Julio,

    O VARCHAR(MAX) aceita até 2GB de dados, dessa forma acredito que acomodaria tranquilamente os 10 a 12 mil caracteres que deseja. (char e varchar (Transact-SQL)

    Acredito que seu problema seja no aplicativo que está utilizando para visualizar os dados gravados.

    Se você estiver visualizando o texto gravado através do SSMS (SQL Server Management Studio), saiba que ele é limitado por padrão para mostrar até 256 caracteres no modo Text e 65535 no modo Grid.

    Você pode aumentar o retorno no modo Text para no máximo 8192 acessando a opção Options no menu Tools conforme a imagem abaixo, claro que se o texto gravado tiver mais que 8192 caracteres ele vai truncar, mas já é uma prova de que os dados estão sendo gravados e que o problema está na aplicação que você está utilizando para mostrá-lo.

    Existe ainda a opção de você utilizar a opção FOR XML em seu SELECT para visualizar o registro em formato XML (Construindo XML usando FOR XML), experimente e veja a diferença.

    

    Abçs,
    Juliano Alves

    sexta-feira, 19 de julho de 2013 05:06
  • Obrigado pela resposta Juliano,

    porem, o problema ocorre quando eu vou salvar o texto longo pela aplicação, ele salva no máximo 4000 caracteres, mesmo sendo varchar max, porem, fiz um teste, coloquei textos simples, sem formatação, e ele salvou normal mais de 7 mil caracteres, quando eu formato o texto através de do editor da aplicação, ele vai com algumas tags Html de formatação, porem ,mesmo com esses caracteres todos de formatação,  não chega a 4500, e mesmo assim ele salva mais trunca com no maximo 4mil.

    sexta-feira, 19 de julho de 2013 19:13
  • Um outra opção seria voce usar o tipo text, se não me engano ele suporta mais de 2 BI de caracteres...

    Alexandre Matayosi Conde Mauricio.

    sexta-feira, 19 de julho de 2013 19:33
  • Obrigado pela resposta Juliano,

    porem, o problema ocorre quando eu vou salvar o texto longo pela aplicação, ele salva no máximo 4000 caracteres, mesmo sendo varchar max, porem, fiz um teste, coloquei textos simples, sem formatação, e ele salvou normal mais de 7 mil caracteres, quando eu formato o texto através de do editor da aplicação, ele vai com algumas tags Html de formatação, porem ,mesmo com esses caracteres todos de formatação,  não chega a 4500, e mesmo assim ele salva mais trunca com no maximo 4mil.

    Julio, sendo assim, acredito que o problema realmente não esteja no SQL e sim na aplicação.

    Você tem acesso ao código-fonte da aplicação? Talvez o controle/componente ou variável que a aplicação está utilizando seja ou esteja limitada por algum parâmetro/propriedade.

    Abçs,
    Juliano Alves


    • Editado _Juliano_Alves_ sexta-feira, 19 de julho de 2013 21:19 Complemento
    sexta-feira, 19 de julho de 2013 21:17