Instalação e Configuração do Gertec TCServer com MySQL (Modo JDBC)

Instalação e Configuração do Gertec TCServer com MySQL (Modo JDBC)

1. Objetivo

Este manual tem como objetivo orientar a instalação e configuração do ambiente Gertec TCServer utilizando integração JDBC com banco MySQL, permitindo que os terminais de consulta de preço realizem buscas diretamente na base de produtos do ERP.

O conteúdo foi elaborado com base em cenários reais de implantação e homologação realizados pela equipe Lumi.

2. Pré-requisitos

Antes de iniciar a instalação, valide os seguintes itens:

Servidor Windows

  • Windows Server ou Windows Desktop

  • Java instalado

  • Rede funcional entre servidor e terminais Gertec

  • Porta TCP liberada:

    • 6500

    • 16510

    • 8080

Banco de Dados

  • MySQL/MariaDB acessível

  • Usuário com permissão de SELECT

  • View de integração criada corretamente

Arquivos Necessários

Aplicação

  • Gertec TCServer.jar

 

Driver JDBC

Recomendado:

  • mysql-connector-java-5.1.49.jar

 

3. Estrutura Recomendada

Criar diretório:

C:\Gertec

Estrutura recomendada:

C:\Gertec\ ├── Gertec TCServer.jar ├── mysql-connector-java-5.1.49.jar └── logs/

4. Configuração do Banco de Dados

Estrutura esperada da consulta

O TCServer espera obrigatoriamente:

Campo

Tipo

Campo

Tipo

CODBARRA

VARCHAR

DESCRICAO

VARCHAR

PRECO_VENDA

DECIMAL

PRECO_VENDA2

DECIMAL

5. Criação da VIEW de Produtos

Solicitação

Solicite para a Lumi SOftware através de um chamado para ter acesso à consulta.

6. Teste Inicial da VIEW

Antes de iniciar o TCServer:

SELECT * FROM produto_gertec LIMIT 10;

A consulta deve retornar dados imediatamente.

7. Teste Simplificado (Recomendado)

Caso exista dúvida na VIEW, criar tabela simplificada:

CREATE TABLE produto_gertec_teste ( CODBARRA VARCHAR(20), DESCRICAO VARCHAR(60), PRECO_VENDA DECIMAL(10,2), PRECO_VENDA2 DECIMAL(10,2) ); INSERT INTO produto_gertec_teste VALUES ('7891234567890','PRODUTO TESTE',9.99,0.00);

Este teste elimina:

  • problemas de VIEW;

  • problemas de UNION;

  • problemas de conversão;

  • problemas de performance.

8. Configuração JDBC

Driver recomendado

mysql-connector-java-5.1.49.jar

Classe JDBC

Utilizar:

com.mysql.jdbc.Driver

URL JDBC

Exemplo:

jdbc:mysql://IP_DO_SERVIDOR_PDV:3306/pdv

9. Inicialização do TCServer

Executar o comando em C:\Gertec:

c:\Gertec> java -jar "Gertec TCServer.jar"

10. Resultado Esperado

Log correto

[INFO][APP] O servidor SC501 está escutando a porta 6500 [INFO][APP] O servidor SC504 está escutando a porta 16510 [INFO][APP] O Servidor HTTP está escutando a porta 8080 [INFO][DB] Banco de dados recarregado (JDBC) [INFO][APP] Terminal conectado

11. Validação dos Terminais

Após conexão:

  • consultar produto por EAN;

  • validar descrição;

  • validar preço;

  • validar atualização de carga.

12. Fluxo Recomendado de Implantação

Ordem correta

1. Validar Java

java -version

2. Validar JDBC

Confirmar presença do:

mysql-connector-java-5.1.49.jar

3. Validar VIEW

SELECT * FROM produto_gertec LIMIT 10;

4. Validar teste simplificado

SELECT * FROM produto_gertec_teste;

5. Iniciar TCServer

java -jar "Gertec TCServer.jar"

6. Validar terminais

Consultar EAN físico.

13. Boas Práticas

Evitar VIEWs muito pesadas

Evitar:

  • múltiplos UNION excessivos;

  • FORMAT desnecessário;

  • consultas sem índices.

Priorizar Materialização

Em ambientes grandes:

  • utilizar tabela materializada;

  • atualizar periodicamente.

Validar sempre com LIMIT

LIMIT 10

durante homologação.

14. Estrutura Final Homologada

O ambiente homologado apresentou funcionamento correto após:

  • correção do driver JDBC;

  • utilização do connector 5.1.49;

  • validação da VIEW;

  • limpeza do cache interno do TCServer;

  • remoção da pasta no %USERPROFILE%

.ts-server

A remoção desta pasta resolveu definitivamente o problema de cache interno do JDBC e recarga da estrutura antiga do banco.

Faça isso quando mesmo estando tudo corretamente configurado não apresentar nenhum resultado na grid de produtos. A pasta .ts-server precisa ser removida antes da nova carga em JDBC.

15. Resumo Final

A sequência homologada e funcional foi:

  1. Corrigir driver JDBC;

  2. Validar VIEW;

  3. Testar tabela simplificada;

  4. Utilizar connector 5.1.49;

  5. Encerrar TCServer;

  6. Apagar pasta:

.ts-server
  1. Reiniciar aplicação;

  2. Validar consulta no terminal.

Com este procedimento, os terminais passaram a consultar corretamente os produtos no banco MySQL.

 

FAQ — Gertec TCServer + MySQL (JDBC)

1. O terminal conecta, mas não encontra produtos. O que verificar primeiro?

Validar inicialmente:

  • se a VIEW está retornando dados;

  • se o EAN existe na coluna CODBARRA;

  • se o TCServer está carregando corretamente o banco.

Teste:

SELECT * FROM produto_gertec LIMIT 10;

Se não retornar produtos, o problema está na VIEW ou nos dados.

2. O log mostra “Banco de dados recarregado”, mas os produtos não aparecem no terminal. O que pode ser?

Na maioria dos casos:

  • cache interno do TCServer;

  • VIEW antiga ainda carregada;

  • problema na pasta .ts-server.

Solução homologada:

  1. Fechar o TCServer;

  2. Apagar a pasta:

.ts-server
  1. Reiniciar a aplicação.

3. Qual versão do MySQL Connector/JDBC foi homologada?

Versão validada:

mysql-connector-java-5.1.49.jar

Outras versões podem funcionar, porém durante os testes algumas versões apresentaram:

  • falha de carregamento;

  • incompatibilidade JDBC;

  • cache incorreto.

4. Qual classe JDBC deve ser utilizada?

Utilizar:

com.mysql.jdbc.Driver

5. Posso usar o driver “com.mysql.cj.jdbc.Driver”?

Não é recomendado neste cenário homologado.

Durante os testes, o driver antigo:

com.mysql.jdbc.Driver

apresentou maior compatibilidade com o TCServer.

6. O TCServer inicia, mas não carrega os dados do MySQL. O que verificar?

Validar:

  • JDBC correto;

  • JAR do connector presente;

  • URL JDBC correta;

  • usuário e senha do banco;

  • firewall;

  • VIEW funcional.

7. O terminal consulta, mas alguns produtos não aparecem. O que pode ser?

Possíveis causas:

  • EAN vazio;

  • produto sem preço;

  • VIEW filtrando estabelecimento errado;

  • produto sem PRD_CODBAR1;

  • cache antigo do TCServer.

8. O problema pode ser na VIEW?

Sim.

Grande parte dos problemas encontrados ocorreu em:

  • CASE;

  • FORMAT;

  • UNION;

  • conversões;

  • filtros excessivos.

Por isso foi criado o teste simplificado:

CREATE TABLE produto_gertec_teste_2

9. Como validar se o problema está na VIEW ou no TCServer?

Criar tabela simplificada:

CREATE TABLE produto_gertec_teste_2

e inserir:

INSERT INTO produto_gertec_teste_2 VALUES ('7891234567890','PRODUTO TESTE',9.99,0.00);

Se funcionar:

  • o problema está na VIEW.

10. O terminal demora muito para retornar produtos. O que fazer?

Possíveis causas:

  • VIEW pesada;

  • ausência de índices;

  • múltiplos JOINs;

  • excesso de UNION.

Recomendação:

  • utilizar tabela materializada;

  • simplificar a VIEW.

11. O TCServer não sobe após trocar o JDBC. O que verificar?

Validar:

  • nome correto do JAR;

  • existência do arquivo;

  • versão compatível;

  • permissões do diretório.

12. Como saber se o TCServer está realmente escutando?

Validar no log:

O servidor SC501 está escutando a porta 6500 O servidor SC504 está escutando a porta 16510

Também pode validar:

netstat -ano | findstr 6500

13. O terminal conecta e desconecta rapidamente. O que pode ser?

Possíveis causas:

  • firewall;

  • antivírus;

  • perda de rede;

  • conflito de IP;

  • portas bloqueadas.

14. O problema pode estar no cache interno do TCServer?

Sim.

Foi um dos principais problemas encontrados durante a homologação.

Mesmo alterando:

  • VIEW;

  • JDBC;

  • consulta;

  • banco,

o TCServer continuava utilizando estrutura antiga até remover:

.ts-server

15. Qual foi a correção definitiva homologada durante os testes?

A sequência validada foi:

  1. Utilizar:

    mysql-connector-java-5.1.49.jar
  2. Validar VIEW;

  3. Testar tabela simplificada;

  4. Encerrar TCServer;

  5. Apagar:

.ts-server
  1. Reiniciar aplicação;

  2. Validar consulta no terminal.

Após este processo, os terminais passaram a consultar corretamente os produtos no MySQL.