Durante muito tempo a empresa que trabalho utilizou o ERP Microsiga mantendo os dados no já ultrapassado DBF. Este modelo, além de lento e obsoleto, dificultava o acesso aos dados por aplicações não-microsiga, como o PHP por exemplo.
Neste artigo vou demonstrar como utilizar o excelente SGBD Postgresql para manter os dados num servidor SQL robusto e acessível por uma infinidade de linguagens de programação.
A Microsiga utiliza um gateway chamado topconnect para acessar a base de dados, isso permite que ela consiga comercializar seu produto mais facilmente, já que este gateway se conecta à diversos bancos de dados.
No postgres, o topconnect se conecta utilizando o ODBC, mas isso não foi um empecilho no desempenho, e hoje podemos desfrutar de recursos como acessos (relatórios) aos dados diretamente na base de dados, liberando o servidor protheus para as aplicações exclusivas do sistema.
Deste modo, economizamos considerável investimento ao utilizar um software opensource que na questão desempenho não deixou nada a desejar para os testes com Oracle e MS SQL Server.
[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
edivaldo_ma 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
edivaldo_ma 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