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.

[ Hits: 79.300 ]

Por: Rogerio Reis em 11/12/2007


Configuração



Agora vamos configurar o ODBC do postgres:

Criar arquivo /root/.odbc.ini nos seguintes moldes:

# vi /root/.odbc.ini

[ODBC Data Sources]
protheus=Base de dados do protheus

[protheus]
Servername=localhost
Username=usuário
Password="senha"
Database=banco
Driver=/usr/lib/libodbcpsql.so.1
Port=5432
ReadOnly=0

Alterar as variáveis conforme necessário.

Aqui você pode incluir tantos bancos quanto desejar, caso necessário.

Página anterior     Próxima página

Páginas do artigo
   1. Motivação
   2. Instalação
   3. Configuração
   4. TopConnect
   5. Conectando o servidor ao banco
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

PgBouncer - Instalação no Debian 6.0 Squeeze

Programando PostgreSQL + PHP

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

Postgres e os Sistemas Alterdata

PostgreSQL básico - Testado e pronto para ser usado

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts