Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Índice
maxLevel4
outlinetrue
exclude.*ndice
stylenone


Plataforma

Produto: TOTVS Fluig Plataforma

Versão: Todas as versões

Ocorrência

Ao tentar exportar um novo formulário para a plataforma , encontramos o seguinte erroou movimentar uma solicitação, os erros são apresentados da seguintes formas:


Bloco de código
languagejava
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
Bloco de código

...

languagejava
ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-25) Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.


Solução

Identificamos que essa situação ocorre em dois cenários, sendo o primeiro na exportação de formulário Identificamos que este incidente ocorreu devido a quantidade de campos contidos no formulário. No caso acima, o formulário possuía mais de 225 campos, sendo a maioria deles do tipo text. Com mesmo, com isto, o banco restringiu restringe a criação da tabela do formulário (metalista) pois o tamanho somado dos campos ultrapassou o limite permitido.. O segundo cenário trata-se da movimentação de solicitações, onde o número de caracteres informados ultrapassa o limite do banco e acaba por restringir o envio das informações.

Há uma medida de contorno, a qual poderá ser adotada, mas não é assegurado em todos os casos que a mesma solucionará o incidente, cabe ressaltar que essa limitação é do próprio banco de dados e não uma limitação do produto. A medida consiste em alterar Encontramos porém um contorno para essa situação alterando os parâmetros de limitações do MySQL. Para realizar o procedimento, basta inserir (ou alterar) as seguintes chaves no arquivo my.ini (em Windows) ou my.cnf (em Linux):

...

Em seguida, é necessário reiniciar o serviço do banco de dados para que as alterações entrem em vigor.

...

Por padrão o arquivo my.ini está localizado dentro da raiz da instalação (geralmente na pasta C:\Program Files\MySQL\MySQL Server 5.x'), mas depende de como foi instalado. Em alguns casos pode até não haver esse arquivo.


...

Caso o incidente persista após a alteração dos parâmetros, aconselhamos que seja implementando em seu diagrama o uso de um Subprocesso, visando dividir o formulário, seja para sanar a questão do número de campos inseridos no mesmo ou o número de informações a serem enviadas durante a movimentação de uma solicitação.