Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dataset

[Resolvido] Campo Text. Ao consultar não retorna todo o conteúdo.

Recommended Posts

Prezados, bom dia;

 

Eu tenho um banco PostgreSQL com um tabela. Nessa tabela tenho uma coluna do tipo Text. Eu digitei um texto, mas ao mostrar no html só ta retornando 8185 caracteres. Ou seja, o texto a mais não ta mostrando.

 

Aqui eu faço a consulta ASP:

    strSQL = "SELECT TermoPadrao.codCon, TermoPadrao.txtCon FROM TermoPadrao WHERE (((TermoPadrao.terCat)=2))"
   tabRec.open strSQL, conSTR
   IF not tabRec.EOF THEN
       txtCon = tabRec("txtCon")
   END IF
   tabRec.Close
   response.write txtCon --Nesse momento é mostrado o texto no browser, mas o texto vem incompleto.

 

Não sei o que acontece. O texto está completo no banco, mas ao mostrar, só ta mostrando até 8185 caracteres. Não importa quantos caracteres eu tenha a mais. Só ta retornando no RecordSet até 8185.

 

O que eu tenho que fazer pra trazer todo o texto que ta no banco ?

 

Fiquei ontem das 9h da manhã até as 20h. Procurei no google e nao achei nada, fiz testes com outros textos no banco tipo, digitei um monte de "aaaaaaa" pra ver se não era coisa do texto, mas sempre me aprensentava o mesmo resultado.

 

Não sei mais o que fazer... preciso de ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vinicios... ja fiz esse teste. Não teve jeito.

Veja o texto que to colocando no banco de dados.

 

A ultima letra "u" não aparece no html. Não importa quantos caracteres eu tenha a mais. Do "u" em diante não é mostrado. Esse texto está inteiro no banco de dados. Mas ao mostrar só retorna até 8185 caracteres.

 

O que eu faço...

 

sdf sdfsdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf vsafasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf safasfas sdf sdfsaf safsf s f sdf sdf sdf sdf sdf sdf  fasf sdfsdfsdf sdf sdf sdf sdf sdfsdf saf sd fsaf asf asf asf asf saf asf asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253asf sf sdf sdf sdf sdf sd sd2 423 45 252 352 452 346 52 34 253v sdfsf sfsaf saf sdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa fsdfsdfsdf sdf sdf sfsdf sf sdf safasf as fsa fas fsaf as saf as fas fsa fsaf sa fasf asf sa faaaaaaaaaaaa bbbbbbbbbbb ccccccccccccccccc dddddddddddd eeeeeeeeeeee fffffffffffffff ggggggggggggggggg hhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkk lllllllllllllllllllllllllllll mmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooo ppppppppppppppppppppppppppppppppppppppppp qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ssssssssss sssssss ssssssss s ssssssss ssssssssss sssss sssssss sss ssstu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andei pesquisando e não achei nada muito relevante também, uma das possibilidades levantadas seria de colocar um

Response.Buffer = False no inicio do código, antes de todo o resto.

 

Desconfio que não resolva, mas é bom ir eliminado possibilidades

 

@EDIT: Achei um link aqui, não sei se ajuda:

http://osdir.com/ml/db.postgresql.odbc/2005-09/msg00020.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vinicius ...

 

Não deu certo com o Response.Buffer.

 

Estou procurando algo e não acho nada. Preciso de ajuda pois o texto do contrato está nessa tabela e o pessoal da secretaria não ta imprimindo os contratos dos alunos.

 

A situação é urgente.

 

Me da uma ajuda. Fico te devendo essa.

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Puts.. que trabalheira...

 

Da uma olhada... esse termo digitado por um editor. Vai dar um trabalho sem noção.

 

termopadrao.jpg

 

Pra poder te mostrar eu tirei aquele "u" no final. Se eu deixar o ultimo caracter "u", o editor não aparece. Só aparece o textbox seco.

 

Imagina a trabalheira que vai me dar, separar isso tudo... pois ele grava no banco tags de formatação. Numa dessas ele pode cortar alguma tag do editor... daí ja ferra tudo.

 

Tem que ter uma maneira.. nao é possível.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nunca usei PostgreSQL, mas vi que tem como text, no mysql temos text e mediumtext, caso exista no postgresql o tipo de campo mediumtext tente alterar e depois experimente

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que andei lendo hoje sobre postgresql, existem outros formatos para isso, mas o campo text é o melhor para acomodar grandes textos.

 

O que acho muito estranho é essa limitação que ele está relatando.

No link que passei, levantam algumas possibilidades, como a conversão de formatos, mudar o limite do varchar, caracteres estranhos que podem causar erro ou problemas com o driver, foi o mais proximo que achei procurando por problemas com campo no formato Text.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que interessante... vejam uma coisa.

 

No original criei minha tabela assim, campo txtCon do tipo Text.

CREATE TABLE TermoPadrao (
 codCon SERIAL, 
 txtCon TEXT NOT NULL, 
 terCat INTEGER NOT NULL, 
 CONSTRAINT TermoPadrao_pkey PRIMARY KEY(codCon)
) WITHOUT OIDS;

 

Daí só me retorna 8185 caracteres, no campo txtCon até aceita mais, fica gravado tudo certinho, mas só me retorna no RecordSet 8185 caracteres.

 

Daí refiz a tabela assim:

CREATE TABLE TermoPadrao (
 codCon SERIAL, 
 txtCon VARCHAR NOT NULL, 
 terCat INTEGER NOT NULL, 
 CONSTRAINT TermoPadrao_pkey PRIMARY KEY(codCon)
) WITHOUT OIDS;

 

Agora o tipo do campo txtCon é VARCHAR, daí ao mandar escrever na tela: response.write tabRec("txtCon"), só aparece 255 caracteres. No banco também aceita mais. Só que me retorna somente 255 caracteres.

Veja abaixo o que está no banco:

<P>asf asf asfasf as fasf asf asf saf sd sdf sdf sdf saf asf asf asf asf adfwer qer qwr qwr qre ds sdf safd asdf asf asf ewr qwerqwerqwer qwer sdf asdf  asfasf asf asfasfwer qwerqwfe qef qwef qefsdfasdf werwer dsfadf asfdsdf qef qf qwf sd fsaf sd</P>

 

Extamente 255 caracteres.

 

Porque será isso ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja algumas coisas no manual on-line:

 

Tabela 8-4. Tipos para cadeias de caracteres

 

character varying(n), varchar(n) comprimento variável com limite

character(n), char(n) comprimento fixo, completado com brancos

text comprimento variável não limitado

 

Se um valor for convertido explicitamente (cast) para character varying(n), ou para character(n), o excesso de comprimento será truncado para n caracteres sem gerar erro (isto também é requerido pelo padrão SQL).

 

Nota: Antes do PostgreSQL 7.2 as cadeias de caracteres muito longas eram sempre truncadas sem gerar erro, tanto no contexto de conversão explícita quanto no de implícita.

 

As notações varchar(n) e char(n) são sinônimos para character varying(n) e character(n), respectivamente. O uso de character sem especificação de comprimento equivale a character(1); se for utilizado character varying sem especificador de comprimento, este tipo aceita cadeias de caracteres de qualquer tamanho. Este último é uma extensão do PostgreSQL.

 

Fonte: http://pgdocptbr.sourceforge.net/pg80/datatype-character.html#DATATYPE-CHARACTER-TABLE

http://pgdocptbr.sourceforge.net/pg80/datatype.html#DATATYPE-TABLE

http://pgdocptbr.sourceforge.net/pg80/index.html

http://www.postgresql.org.br/docs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vinicios...

 

Depois de atravessar a noite adentro consegui cara... Nem acredito.

 

Recriei minha tabela assim:

CREATE TABLE TermoPadrao (
 codCon SERIAL, 
 txtCon VARCHAR(100000) NOT NULL, 
 terCat INTEGER NOT NULL, 
 CONSTRAINT TermoPadrao_pkey PRIMARY KEY(codCon)
) WITHOUT OIDS;

 

Deixa eu te perguntar... de acordo com teu conhecimento e tal... você acha que eu declarando o campo txtCon do tipo VARCHAR(100000) tem perda de desempenho ? O que vai expandir muito o banco ?

 

O que você acha ...

 

Quero agradecer a sua ajuda. Obrigado por ter cedido um tempo seu pra me ajudar nesse caso.

 

Valeu mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aeeeee :clap:

Que bom que consegiu !

 

Veja o que fala no manual:

 

Os valores do tipo character são preenchidos fisicamente com espaços até o comprimento n especificado, sendo armazenados e mostrados desta forma. Entretanto, os espaços de preenchimento são tratados como não sendo significativos semanticamente. Os espaços de preenchimento são desconsiderados ao se comparar dois valores do tipo character, e são removidos ao converter um valor do tipo character para um dos outros tipos para cadeia de caracteres. Deve ser observado que os espaços no final são significativos semanticamente nos valores dos tipos character varying e text.

 

São necessários para armazenar dados destes tipos 4 bytes mais a própria cadeia de caracteres e, no caso do tipo character, mais os espaços para completar o tamanho. As cadeias de caracteres longas são comprimidas automaticamente pelo sistema e, portanto, o espaço físico necessário em disco pode ser menor. Os valores longos também são armazenados em tabelas secundárias, para não interferirem com o acesso rápido aos valores mais curtos da coluna. De qualquer forma, a cadeia de caracteres mais longa que pode ser armazenada é em torno de 1 GB (O valor máximo permitido para n na declaração do tipo de dado é menor que isto. Não seria muito útil mudar, porque de todo jeito nas codificações de caractere multibyte o número de caracteres e de bytes podem ser bem diferentes. Se for desejado armazenar cadeias de caracteres longas, sem um limite superior especificado, deve ser utilizado text ou character varying sem a especificação de comprimento, em vez de especificar um limite de comprimento arbitrário).

 

Dica: Não existe diferença de desempenho entre estes três tipos, a não ser pelo aumento do tamanho do armazenamento quando é utilizado o tipo completado com brancos. Enquanto o tipo character(n) possui vantagens no desempenho em alguns outros sistemas gerenciadores de banco de dados, não possui estas vantagens no PostgreSQL. Na maioria das situações deve ser utilizado text ou character varying em vez deste tipo.

 

Como pode ver, não tem diferença, e sobre expandir o banco, creio que isso isoladamente não vai causar impacto no seu db, pois outras tabelas podem conter mais informação que essa e "pesar" mais, mas tem outras variaveis a se considerar nisso, como clausulas sql, servidor, etc...

 

Sobre o meu tempo, imagina, estou aqui para auxiliar e aprender (muito) com todos que também participam do forum.

 

Precisando, estamos ai ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.