Ajuda  Calendário  Lista de Membros  Pesquisar  Portal
 Portal  Pesquisar  Lista de Membros  Calendário
Olá, Visitante!  Registrar  Entrar

ERRO EM orm.dll.generator - BuilderAlterFieldDefinitionFixFirebird


Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
 
#1
Está dando erro no ORMbr novamente. (É um bug atrás do outro) acho que o ORMbr está precisando de muitos testes para ficar bom, como eu tenho mais coisas para fazer irei dar um tempo; Preciso terminar meus projetos..

NA unit ORM.DLL.GENERATOR:

Encontrem o seguinte método:

  ----->>>> function BuilderAlterFieldDefinitionFixFirebird(AColumn: TColumnMIK): string;

Esta função é chamada deste outro método:
    
    function TDDLSQLGeneratorFirebird.GenerateAlterColumn(AColumn: TColumnMIK): string;
begin
  Result := 'ALTER TABLE %s ALTER COLUMN %s TYPE %s;';
  Result := Format(Result, [AColumn.Table.Name,
                            AColumn.Name,
                            BuilderAlterFieldDefinitionFixFirebird(AColumn)]);      <<<<<<<-------
end;

Reparem que está gerando clause errada para o firebird:

ALTER TABLE pessoa ALTER COLUMN Renda TYPE Renda NUMERIC(9,2);

Para funcionar no firebird o correto seria;

ALTER TABLE pessoa ALTER COLUMN Renda TYPE NUMERIC(9,2)
 Responder
#2
(25-01-2018, 10:52 AM) willian Escreveu: Está dando erro no ORMbr novamente. (É um bug atrás do outro) acho que o ORMbr está precisando de muitos testes para ficar bom, como eu tenho mais coisas para fazer irei dar um tempo; Preciso terminar meus projetos..

NA unit ORM.DLL.GENERATOR:

Encontrem o seguinte método:

  ----->>>> function BuilderAlterFieldDefinitionFixFirebird(AColumn: TColumnMIK): string;

Esta função é chamada deste outro método:
    
    function TDDLSQLGeneratorFirebird.GenerateAlterColumn(AColumn: TColumnMIK): string;
begin
  Result := 'ALTER TABLE %s ALTER COLUMN %s TYPE %s;';
  Result := Format(Result, [AColumn.Table.Name,
                            AColumn.Name,
                            BuilderAlterFieldDefinitionFixFirebird(AColumn)]);      <<<<<<<-------
end;

Reparem que está gerando clause errada para o firebird:

ALTER TABLE pessoa ALTER COLUMN Renda TYPE Renda NUMERIC(9,2);

Para funcionar no firebird o correto seria;

ALTER TABLE pessoa ALTER COLUMN Renda TYPE NUMERIC(9,2)


bom dia
primeiro ele é aberto foi feito seu começo agora a comunidade deve ajudar e ajustar .
qual versão do firebird está a usar? tem diferenças entre a 2.5 e a 3.0
Juliomar Marchetti
Consultoria e Desenvolvimento
Paf-ECF/NF-e/NFC-e/TEF/CT-e/NFS-e/MDF-e/SPED


Skype: juliomar
Chapecó / SC
 Responder
 
 
Saltar Fórum:

usuários a ver este tópico: 1 Visitante(s)