Outros: Ao atualizar base de dados: exceção:FireDACPhysFBarithmetic exception, numeric overflow, or string truncation strig.

Criado por João Rodrigues em 18/09/2025 20:20  ·  Atualizado em 18/09/2025 20:22  ·  Leitura: 6 min

Situação: 

Ao tentar realizar a atualização do sistema, a seguinte mensagem de erro era exibida: Exceção: [FireDAC][Phys][FB]arithmetic exception, numeric overflow, or string truncation string rig.

Solução

Para resolver essa situação, é preciso excluir a tabela e recriá-la, fazendo a cópia dos dados.

Primeiramente, acesse o IBExpert e pesquise pela tabela do erro, neste caso, a tabela SANGRIA.

Acessando a tabela, vá na aba DATA e clique no botão "Export Data Into Script".



Na janela que abrir, no campo "Export As", selecione a opção "INSERT Statements", escolha o local para salvar o arquivo e clique em Export.





Após copiar os dados da tabela, clique com o botão direito no nome da tabela e selecione "Drop Table".




Depois de excluir a tabela, você irá recriá-la manualmente. Para isso, vá em "Script Executive" ou use o atalho Ctrl + F12. 



Na nova aba, clique no botão e cole o script a seguir para criar a tabela SANGRIA. Em seguida, execute o script.




/******************************************************************************/
/***               Generated by IBExpert 16/09/2025 10:22:28                ***/
/******************************************************************************/
/******************************************************************************/
/***      Following SET SQL DIALECT is just for the Database Comparer       ***/
/******************************************************************************/
/******************************************************************************/
/***                                 Tables                                 ***/
/******************************************************************************/

CREATE TABLE SANGRIA (
    CODSANGRIA        CHAR8 NOT NULL /* CHAR8 = CHAR(8) NOT NULL */,
    USUARIO           CHAR10 NOT NULL /* CHAR10 = CHAR(10) NOT NULL */,
    DATASANGRIA       DATA /* DATA = DATE */,
    HORASANGRIA       VARCHAR5 /* VARCHAR5 = VARCHAR(5) */,
    VALOR             NUMERICO /* NUMERICO = DOUBLE PRECISION DEFAULT 0 */,
    DC                VARCHAR1 /* VARCHAR1 = VARCHAR(1) */,
    QLIBEROU          VARCHAR10 /* VARCHAR10 = VARCHAR(10) */,
    MOTIVO            VARCHAR250 /* VARCHAR250 = VARCHAR(250) */,
    CODEMPRESA        VARCHAR2 /* VARCHAR2 = VARCHAR(2) */,
    ABERTURACAIXA     VARCHAR1 /* VARCHAR1 = VARCHAR(1) */,
    CODOPER           VARCHAR5 /* VARCHAR5 = VARCHAR(5) */,
    COO               INTEIRO /* INTEIRO = INTEGER DEFAULT 0 */,
    GNF               INTEIRO /* INTEIRO = INTEGER DEFAULT 0 */,
    MAQUINA           VARCHAR4 /* VARCHAR4 = VARCHAR(4) */,
    ESPELHOSANGRIA    VARCHAR32 /* VARCHAR32 = VARCHAR(32) */,
    ID_ROTINA_ORIGEM  INTEIRO /* INTEIRO = INTEGER DEFAULT 0 */,
    TIPO_VALOR        INTEIRO DEFAULT '0' /* INTEIRO = INTEGER DEFAULT 0 */,
    CODTURNO          VARCHAR2 /* VARCHAR2 = VARCHAR(2) */,
    SERIENFCE         VARCHAR2 /* VARCHAR2 = VARCHAR(2) */,
    CONTROLE          VARCHAR15 /* VARCHAR15 = VARCHAR(15) */,
    IDCAIXA           INTEIRO DEFAULT '0' /* INTEIRO = INTEGER DEFAULT 0 */
);


/******************************************************************************/
/***                              Primary Keys                              ***/
/******************************************************************************/

ALTER TABLE SANGRIA ADD CONSTRAINT PK_SANGRIA PRIMARY KEY (CODSANGRIA, USUARIO);

/******************************************************************************/
/***                                Indices                                 ***/
/******************************************************************************/

CREATE INDEX SANG_CODEMPDATA ON SANGRIA (CODEMPRESA, DATASANGRIA);

/******************************************************************************/
/***                              Descriptions                              ***/
/******************************************************************************/

COMMENT ON TABLE SANGRIA IS 
'Sangria';

/******************************************************************************/
/***                               Privileges                               ***/
/******************************************************************************/ 

Agora que a tabela foi recriada, é possível realizar a atualização da base de dados.Observação: Lembre-se de incluir os registros exportados da tabela `SANGRIA`


 

 


 

João Rodrigues
Central de Atendimento
(31) 2112-3700

atsinformatica.com.br