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:\GertecEstrutura 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 |
|---|---|
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.jarClasse JDBC
Utilizar:
com.mysql.jdbc.DriverURL 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:
Corrigir driver JDBC;
Validar VIEW;
Testar tabela simplificada;
Utilizar connector 5.1.49;
Encerrar TCServer;
Apagar pasta:
.ts-server
Reiniciar aplicação;
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:
Fechar o TCServer;
Apagar a pasta:
.ts-serverReiniciar 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.Driver5. 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.Driverapresentou 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_2e 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 16510Também pode validar:
netstat -ano | findstr 650013. 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-server15. Qual foi a correção definitiva homologada durante os testes?
A sequência validada foi:
Utilizar:
mysql-connector-java-5.1.49.jarValidar VIEW;
Testar tabela simplificada;
Encerrar TCServer;
Apagar:
.ts-serverReiniciar aplicação;
Validar consulta no terminal.
Após este processo, os terminais passaram a consultar corretamente os produtos no MySQL.