Realmente... talvez nem seja um Bug do DBExpress, e sim uma adaptação de mercado, visto que alguns SGDB não aceitam objetos com mais de 30 caracteres O melhor mesmo é reduzir o nome do campo
Bruno Lichot - Micrologos <[EMAIL PROTECTED]> escreveu: eu ja tive este problea e so solucionei qdo limitei o nome de meus campos a 30 caracteres.. []´s Bruno Lichot Micrologos Dream Team Equipe Editorial ClubeDelphi DevMedia [EMAIL PROTECTED] [EMAIL PROTECTED] www.micrologos.com.br - www.clubedelphi.net - www.delphirio.assespro-rj.org.br ----- Original Message ----- From: "Paulo" <[EMAIL PROTECTED]> To: <delphi-br@yahoogrupos.com.br> Sent: Tuesday, November 29, 2005 5:19 PM Subject: [delphi-br] ClientDataSet - Nao posso ter campos com mais de 30 caracteres em seus nomes Pessoal: Pergunta resumida: O ClientDataSet nao consegue ler corretamente nomes de campos que possuam mais de 30 caracteres ? (quando eu tento criar um campo persistente a partir de um campo que possui nome com mais de 30 caracteres, o ClientDataSet trunca para 30 caracteres, e depois ocorre erro em tempo de execucao, pois no ApplyUpdates o nome de campo "truncado" nao e' encontrado no servidor Caso seja necessario para entenderem melhor minha dificuldade, seguem maiores detalhes no final deste e-mail Grato pela atencao de todos Paulo a) Uso o Delphi 7 com DBExpress e InterBase 6 b) Estou com o seguinte problema: Tenho alguns campos que possuem mais de 30 caracteres em seus nomes. Por exemplo, o nome do campo abaixo tem 31 caracteres: DATINICIOPROCESSAMENTO_PREVISTO c) Quando eu executo um clique-duplo em um ClientDataSet que esta' fazendo acesso `a tabela que possui esse campo (atraves de um SQLDataSet e DataSetProvider), o campo e' criado no ClientDataSet (ou seja, o campo persistente), a propriedade FieldName desse campo persistente trunca o ultimo caractere do nome do campo. Assim: DATINICIOPROCESSAMENTO_PREVIST d) Ao rodar o programa, o ClientDataSet abre normalmente... Mas quando eu tento gravar um registro, aparece mensagem dizendo que a coluna DATINICIOPROCESSAMENTO_PREVIST e' desconhecida (porque seu nome na tabela contem um caractere a mais - a letra "O"). e) Tentei mudar por conta propria a propriedade FieldName para os 31 caracteres, mas neste caso quando tento abrir o ClientDataSet (ainda em tempo de projeto), aparece mensagem que o campo DATINICIOPROCESSAMENTO_PREVISTO nao foi encontrado (em tempo de execucao aparece tambem um erro). Pergunta: Ha' alguma solucao para resolver este problema, ou terei de alterar os nomes dos campos na estrutura do BD, para que tenham no maximo 30 caracteres ? [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE var lrec_target="_blank";var lrec_URL=new Array(); lrec_URL[1]="http://br.rd.yahoo.com/SIG=12f6jli2p/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1133301204/A=2950750/R=0/id=flashurl/SIG=10tift5qr/*http://br.movies.yahoo.com/"; var lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_cinema_calendario.swf?clickTAG=javascript:LRECopenWindow(1)"; var lrec_altURL="http://br.rd.yahoo.com/SIG=12f6jli2p/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1133301204/A=2950750/R=1/id=altimg/SIG=10tift5qr/*http://br.movies.yahoo.com/"; var lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0829_lrec_cinema_calendario.gif"; var lrec_width=300;var lrec_height=250; --------------------------------- Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. --------------------------------- Yahoo! doce lar. Faça do Yahoo! sua homepage. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html