Histórico da Página
Índice
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
Plataforma
Produto: fluigTOTVS Fluig Plataforma
Versão: Todas as versões
Ocorrência
Ao tentar exportar um novo formulário para o fluig, encontramos o seguinte erroa plataforma ou movimentar uma solicitação, os erros são apresentados da seguintes formas:
Bloco de código | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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):
Bloco de código | ||
---|---|---|
| ||
innodb_log_file_size=512M8G innodb_log_buffer_size=800M innodb_buffer_pool_size=800M innodb_strict_mode=0 |
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.