Pular para o conteúdo

Microsiga Protheus com Postgres

Neste primeiro artigo que escrevo, demonstro basicamente como configurar o PostgreSQL com servidor SGBD para o Microsiga Protheus. Testado em Ubuntu Server com 45 usuários.
Rogerio Reis rogerio-reis
Hits: 81.567 Categoria: Banco de Dados Subcategoria: Postgres
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 4: TopConnect

Agora iremos instalar e configurar o topconnect, o software gateway entre as requisições do servidor Protheus e o acesso ao banco:

SERVIÇO TOPCONNECT.

Instalação:

Obter os binários (ftp.microsiga.com.br).

Copiar / descompactar os arquivos no diretório /topconnect:

# ls /topconnect/
informix  multi  oracle9  topmonitor  topmonitor.ini

Executar o servidor:

# /topconnect/multi/topconnect &

Configuração:

Deverá ser feita remotamente, utilizando o topmonitor (versões para Linux e Windows). Lógico que eu usei o Linux:



Conectando-se ao servidor:



Configurando o banco criado:

Clicar em configurações - Postgres - Novo (colocar como nome do banco criado no postgresql).

Adicionar o nome do usuário e a senha configurada no postgresql.

É uma boa idéia verificar a conectividade através do assistente, basta informar SGBD e nome do banco.

Caso a mensagem dê ok, está tudo pronto, no primeiro teste de conexão o topconnect cria algumas tabelas na base, que ele irá usar. Caso contrário, revise os passos anteriores. O mais importante aqui é verificar se a lib do ODBC está correta, infelizmente não tive sucesso com as libs mais novas, observe qual arquivo está sendo 'reclamado' pelo topconnect no log do mesmo.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Motivação
   2. Instalação
   3. Configuração
   4. TopConnect
   5. Conectando o servidor ao banco
Nenhum artigo encontrado.

PostgreSQL + phpPgAdmin no CentOS 5

Vacuum - otimizando sua base de dados PostgreSQL

Autenticação no PostgreSQL - com exemplos

PostgreSQL 9.4 - O conceito de Role

Encoding do Postgres (latin1) e encoding do SO (Debian/Ubuntu)

#1 Comentário enviado por Everson Pires em 12/12/2007 - 09:01h
Nossa cara, muito show esse seu artigo.

Cara,eu trabalho com algumas empresas que usam o microsiga e os servidores proprietários muitas das vezes não licenciado.

Mais, com documentação e testes, fica mais fácil convencer o cliente a mudar pra open source.

Parabéns pela iniciativa e mais pelo material.

Nota 10!
#2 Comentário enviado por rogerio-reis em 12/12/2007 - 10:26h
Obrigado pelo comentário.

Não dá pra usar um sistema pirata e nem sequer testar uma alternativa. Se você precisar de um case, já tem um.
Abraço.
#3 Comentário enviado por edivaldobrito em 30/01/2008 - 14:37h
Me tira uma dúvida, pq vc utilizou encoding SQL_ASCII no banco?
#4 Comentário enviado por rogerio-reis em 30/01/2008 - 14:52h
?comentario=Edivaldo, o padrão é o postgres usar o UTF-8, que à propósito deve ser tornar o padrão para todas as aplicações, no entanto, para nossas necessidades, alguns campos ficaram ilegíveis, pois usavam ISO.
#5 Comentário enviado por edivaldobrito em 14/02/2008 - 12:28h
Qual versão das bibliotecas (lib do ODBC) vc usou, pq toh utilizando postgresl-8.2 e não conecta. se puder me passar os nomes dos pacotes..
Grato.
#6 Comentário enviado por rogerio-reis em 14/05/2008 - 11:40h
Cara, desculpe a demora, nunca mais voltei aqui...
Eu estou usando uma lib antiga (postgresql-odbc), basta procurar na internet que você acha, veja a saída deste comando:

# dpkg -l | grep odbc
ii libiodbc2 3.52.4-5 iODBC Driver Manager
ii libodbc++-dev 0.2.3+0.2.4pre3-2 C++ library for ODBC SQL database access
ii libodbc++4 0.2.3+0.2.4pre3-2 C++ library for ODBC SQL database access
ii odbc-postgresql 08.01.0200-2 ODBC driver for PostgreSQL
ii odbcinst1debian1 2.2.11-13 Support library and helper program for acces
ii postgresql-odbc 7.0.2-3 The ODBC driver needed for accessing a Postg

Abc.,
#7 Comentário enviado por crondi em 08/01/2009 - 16:46h
Cara não a meios de fazer a ODBC funcionar....
Ja tentei de tudo
#8 Comentário enviado por jefflivre em 28/03/2009 - 04:00h
Insatale o unixODBC e crie um link simbólico e no odbc aponte para /usr/lib/libpsqlodbc.so
Link simbolico: /usr/lib/libpsqlodbc.so -> /usr/lib/unixODBC/libodbcpsql.so.2.0.0
Importante: Não use libodbcpsql.so.1, ele faz que algumas coisas não funcionem.
Unico problema que vejo em utilizar Linux é o suporte fraco. Não que eu esteja criticando a Microsiga, mas é uma questão de lógica, os técnicos dos módulos tem muito mais experiencia com Windows. Todos os técnicos, sem excessão me recomendaram M$-SQL. Sendo assim é pequeno o numero de linux rodando nos servers. Sem falar no marketing negativo referente ao postgres, limitado a 10 usuários, isso é piada, um postgres da um banho em um M$-SQL quando se fala em mais de 250 usuarios. Posso estar enganado, mas acho que eles colocaram esse valor porque não souberam configurar o postgresql.conf na parte de número de conexões e memória compartilhada. Sem falar na falta de Stored Procedures. Isso só vai mudar quando aumentar o numero de empresas utilizando o Linux. Se existir um problema a resposta vai demorar um pouco mais. Querem ver um exemplo, la por 2004 ou 2005 alterei o banco da versão 7.1 para 7.4, nessa mudança os desenvolvedores tiraram a função padrão Round. Após a virada de versão tudo ficou perfeito, aí chegou o final do mês, a unica coisa que apresentou problema foi o relatório do balancete. Abri o chamado, esperei por dois dias, como vi que não iria aparecer resposta comecei a correr atrás, criei a função round no banco, mandei a solução para a Microsiga, só 3 semanas depois saiu um comunicado alertando sobre o problema, as vezes coisas do genêro me levam a pensar que sou o unico que usa essa estrutura. Não é um bicho de 7 cabeças, quando implantei o postgres eu não o conhecia. Tem apenas alguns parametros para serem configurados na unha(sem interface gráfica). Mas eu afirmo, uma vez instalado você pode esquecer que ele existe.
Para deixar registrado: Tenho SLES 10 no server Postgres 8.2.6, e clientes XP,Vista,Gentoo,Puppy,OpenSuse. Uso essa estrutura desde 2003. Usem linux. Muiiiiitooo mais estável.
Por um mundo mais livre, Jeferson.
#9 Comentário enviado por gustavoisouza em 26/11/2009 - 16:13h
Olá Rogério.

Primeiramente parabéns pelo artigo e pelo seu tutorial.

Contribuindo para sua matéria, para quem necessitar instalar num server 64bits, eu só consegui resolver, copiando a lib do unixODBC de 32 bits, pois o Topconnect não comunica com a lib de 64bits e dá pau.

Instalei numa VM 32bits o unixODBC e copiei a lib pra dentro da máquina 64bits.

Após esse procedimento, somente criar o link simbólico como o comentado pelo jefflivre.

Atualmente estou em teste com um FC9-64bits com Postgresql 8.3.

Um abraço.
#10 Comentário enviado por carolvasquez29 em 27/11/2009 - 14:59h
Muito boa sua matéria. Já conhecia algumas empresas adeptas ao Linux com o Microsiga, e depois de ler, acho que vou indicar para mais um monte delas. Valeu !

Carol Vasquez
www.Experfite.com
#11 Comentário enviado por fadel_damen em 08/02/2012 - 20:19h
Eu tenho um seridor com postgresql e microsiga protheus 10 com mais de 100 usuarios e tudo corre bem, postgresql 8.4, mas agora quando chega a 130 conexoes o odbc começa a recusar conexões, o meu server possue 24G de memoria ram e o postgresql.conf esta com o max_coneccion em 170 usuarios.

Se alguem tiver alguma ideia para poder ajudar.


sds

#12 Comentário enviado por fadel_damen em 28/02/2012 - 22:18h
para ficar registrado quando trabalhamos com o unixodbc temos a seguinte estrutura unixodbc -- driveodbcparapostgresqldounixodbc -- odbc-postgresql-oficial, logicamente a 1 e segunda parte estao dentro dos driver drivers do unixodbc, porem não sei porque, no codigo fonte do odbc o numero maximo de conexões para o postgresql esta configura para 128 independente do que esta configurado no postgresql.conf por exemplo no unixodbc-2.2.14 temos o arquivo que contem esta constante unixODBC-2.2.14/Drivers/PostgreSQL/psqlodbc.h na linha 56 temos
#define MAX_CONNECTIONS 128 /* conns per environment (arbitrary) */
veja que como comentario diz que e um valor arbritario.
bom e necessario compiar o drive trocando esta constante para um valor que seja suficiente para sua rede eu utilizei 500 conexoes para esta constante e ja estou utilizando o postgresql com aproximadamente 155 conexoes simultantes, sem problemas e com um bom desempenho.

Contribuir com comentário

Entre na sua conta para comentar.