CAPITULO 2 – AMBIENTE ODBC – UNIXODBC
2.1 – Funcionamento
Para que o Totvs Microsiga Protheus possa se comunicar com um banco de dados SQL, é utilizado um programa intermediário (Dbaccess), que se comunica com uma fonte dados ODBC e, esta por sua vez, acessa o banco de dados, criando assim, um método que permite ao Protheus acessar boa parte dos bancos de dados SQL com apenas uma versão do programa e manter a compatibilidade com o padrão DBF (Que era a base do sistema no inicio da sua historia).
Nessa segunda etapa, será preparado o ambiente ODBC no servidor Linux, para que posteriormente o Dbacces possa acessar a base de dados criada anteriormente. O primeiro passo é instalar o UnixODBC e o Driver ODBC do PostgreSQL
2.2 – Instalando o UnixODBC e o suporte a ODBC do PostgreSQL
Antes de instalar o suporte a odbc para PostgreSQL oficial da distribuição utilizada neste tutorial, é preciso colocar o pacote odbc compatível com o Dbaccess da Totvs (infelizmente o programa da Totvs ainda carrega suporte a uma biblioteca muito antiga para acesso odbc ao PostgreSQL), vamos torcer (ou reclamar) para que a Totvs atualize esse suporte, pois para os outros bancos o suporte é bem mais atualizado.
A primeira coisa a fazer é baixar um pacote odbc (32 Bits) compatível com Totvsdbacces usando o comando:
wget -O odbc-postgresql_07.03.0200-5_i386.deb https://docs.google.com/uc?id=0B_tjAlAdfh1XY2I4OGM0ZjgtOGMxZS00MGY2LWE2ZDYtZmI1Mjg2YzhjOWY4&export=download&hl=pt_BR
Ou para baixar um pacote de 64 bits:
wget -O odbc-postgresql_07.03.0200-5_amd64.deb https://docs.google.com/uc?id=0B_tjAlAdfh1XYWU4YWRiN2QtOWNlNS00N2JlLTlhZWUtZjA2NjM2YTgxMmVl&export=download&hl=pt_BR
Depois, descompactar o arquivo baixado com o dpkg
dpkg -x odbc-postgresql_07.03.0200-5_i386.deb /
E então, para instalar o UnixODBC e o suporte a ODBC do PostgreSQL, é necessário digitar o comando abaixo:
apt-get install odbc-postgresql unixodbc
E para dizer pro Dbaccess onde fica a biblioteca de acesso odbc do postgres (Ele só conecta com a libpsqlodbc.so), um link simbólico resolve :
ln -sf /usr/lib/odbc/psqlodbc.so /usr/lib/libpsqlodbc.so
Agora é preciso saber onde foi instalado o arquivo de setup do Driver ODBC do PostgreSQL com o seguinte comando:
find / -iname libodbcpsql*
Possivelmente, o resultado será:
/usr/lib/odbc/libodbcpsqlS.so
Essa informação é necessária para o próximo passo, onde será adicionado um driver ao sistema e criada a conexão ODBC ao banco,
2.3 – Adicionando o Driver PostgreSQL no UnixODBC
Para adicionar o Driver ODBC do PostgreSQL, é preciso criar um arquivo chamado driverpg, com o seguinte conteúdo:
[PostgreSQL]
Description = PostgreSQL driver for Linux & Win32
Driver = /usr/lib/libpsqlodbc.so
Setup = /usr/lib/odbc/libodbcpsqlS.so
FileUsage = 1
Feito isso, digite o seguinte comando:
odbcinst -i -d -f driverpg
Este comando coloca o “Driver” ODBC do PostgreSQL disponível no sistema, copiando as informações do arquivo driverpg para o arquivo de sistema /etc/odbcinst.ini
Para conferir se gravou corretamente, digite:
cat /etc/odbcinst.ini
2.4 – Adicionando uma conexão ODBC
Para adicionar a conexão, é preciso criar um arquivo chamado conexaopg, com o seguinte conteúdo (atenção para os itens que devem ser alterados conforme sua configuração):
[ODBC Data Sources]
dadosadv=Base de dados do protheus
[dadosadv]
Servername=localhost
Username=protheus
Password=senha
Database=dadosadv
Driver=PostgreSQL
Port=5432
ReadOnly=0
MaxLongVarcharSize=2000
Atenção!Os dados acima devem ser preenchidos observando os seguintes itens:
Servername: Deve ser colocado “localhost”, se o SGBD esteja na mesma maquina do protheus ou o ip da maquina onde está o SGBD, caso esteja em outra maquina;
Username: Aqui deve ser colocado o nome de usuário criado no capitulo 1;
Password: A senha do usuário acima;
Database: O nome do banco de dados também criado no capitulo 1;
Depois, digite:
odbcinst -i -s -f conexaopg
Este comando coloca a “Conexão” ODBC do PostgreSQL disponível no sistema, copiando as informações do arquivo conexaopg para o arquivo de sistema /root/.odbc.ini
Para conferir se gravou corretamente, digite:
cat /root/.odbc.ini
2.5 – Testando a conexão
Para saber se está tudo funcionando, digite:
isql dadosadv
Se aparecer uma tela assim:
Então, deu tudo certo, basta digitar quit
e depois a tecla enter para sair do ambiente de teste.
No próximo capitulo o foco será na instalação e configuração do Dbaccess, aguardem.
Referencias:
http://www.debian-administration.org/articles/496
http://www.vivaolinux.com.br/artigo/Microsiga-Protheus-com-Postgres/?pagina=3
Entenda melhor essa história:
No Post found.