Criando uma conexão ODBC com o banco de dados
Execute o utilitário do Windows ODBC Data Sources, de acordo com a sua arquitetura (32 ou 64 bits).
A interface será similar a esta:
Para criar uma nova conexão devemos utilizar a aba System DSN (DSN de Sistema). Dentro desta aba clique no botão Add/Adicionar. Surgirá uma nova janela:
Note que podem existir inúmeros drivers instalados. Cada um possibilita a conectividade com um tipo de banco diferente, por exemplo SQL Server, Oracle etc. As informações nesta janela podem variar, de acordo com o que já foi instalado previamente no equipamento. Fique atento para selecionar o tipo de driver corretamente.
Se o ODBC instalado foi o de ambas as arquiteturas, as opções serão similares à imagem:
- PostgreSQL ANSI
- PostgreSQL ANSI(x64)
- PostgreSQL Unicode
- PostgreSQL Unicode(x64)
Se apenas o ODBC x64 foi instalado, haverão duas opções disponíveis para PostgreSQL:
- PostgreSQL ANSI(x64)
- PostgreSQL Unicode(x64)
Selecione o padrão PostgreSQL ANSI, caso sua arquitetura seja de 32 bits, ou PostgreSQL ANSI(x64), caso seja de 64 bits, e clique em Finish/Concluir.
Atenção
Atente-se à arquitetura do driver selecionado caso haja mais de uma opção. O padrão para uso com Protheus é ANSI.
Surgirá uma nova janela. É nela onde informaremos os dados para a conexão com o PostgreSQL:
Utilize as seguintes definições para a conexão ODBC:
Data Source = defina um nome para esta conexão ODBC. Aqui vale a mesma regra de nomenclatura usada para o PostgreSQL. Não use caracteres acentuados, especiais nem espaço.
Description = fique à vontade para acrescentar um breve comentário neste campo. É meramente descritivo e não é obrigatório.
Database = especifique o nome da database criada no PostgreSQL anteriormente. É muito importante colocar o nome da mesma forma como ele está dentro da instância, pois como foi descrito anteriormente, o PostgreSQL é case sensitive e diferencia letras maiúsculas de minúsculas.
SSL Mode = por padrão já vem desabilitado (disable). Não modifique este valor.
Server = deve ser informado o endereço IP ou o nome do computador onde a instância PostgreSQL está instalada. Como o escopo deste documento trata de ambiente local, pode-se utilizar a palavra localhost. Se a instância estiver localizada em um outro computador, especifique o IP ou nome do computador remoto.
Port = é a porta de comunicação com a instância PostgreSQL. Lembre-se que no momento da instalação do produto esta informação foi solicitada. A porta padrão é 5432.
User Name = é o nome do usuário criado na instância PostgreSQL. É com este usuário que o acesso à database será realizado. É o mesmo usuário usado na criação da database (veja os passos descritos na seção Como criar uma database PostgreSQL).
Password = é a senha do usuário da database. É a mesma senha usada na criação do usuário dentro da instância PostgreSQL.
Após fornecer todos os campos, clique em Test para verificar se a comunicação com a database será realizada ou não. Se os dados fornecidos estiverem corretos, será exibida a seguinte janela:
Se houver algum problema de comunicação, verifique os dados e tente novamente.
Após realizar o teste com sucesso, clique em Save para salvar a conexão ODBC.
Configurando o DBAccess para acesso ao banco de dados
Para concluir o processo de comunicação com a database PostgreSQL, será necessário definir uma conexão dentro do DBAccess.
Acesse o utilitário DBMonitor:
Selecione a aba Configurações e acesse a aba PostgreSQL:
Clique no botão Novo. Surgirá uma janela solicitando um nome para a conexão:
Forneça um nome e clique em OK.
Dica
O nome da conexão DBAccess pode ser o mesmo nome usado na conexão ODBC. Ao utilizar o mesmo nome em sua database, conexão ODBC e conexão DBAccess, não haverá confusão no momento de montar seu ambiente.
A janela anterior será reapresentada com a aba Ambiente preenchida. Em Nome e Senha, utilize o nome de usuário (user name) e senha (password) utilizados na conexão ODBC.
Clique em Salvar.
Sempre que uma conexão é criada, ela deve ser testada para a validação de seu acesso. Selecione a aba Assistentes e clique em Validação de Conexão:
No assistente de conexão, clique em Avançar. Na tela seguinte, selecione o banco de dados Postgres:
Clique em Avançar. Na próxima tela, insira o nome do ambiente (informado ao criar o ambiente no DBAccess):
Clique em Finalizar. Se tudo estiver configurado corretamente, a mensagem exibida será "Conexão Ok!":
Ao realizar o teste pela primeira vez em uma database vazia, o próprio DBAccess fará a criação de algumas tabelas, comprovando que a database está acessível e pronta para uso. A partir deste momento, basta configurar corretamente seu ambiente no arquivo de configuração appserver.ini para que o Protheus possa utilizá-la.
Exemplo de dbaccess.ini para ambientes em Windows usando PostgreSQL
#Windows
#D:\totvs\microsiga\dbaccess\dbaccess.ini [General] LicenseServer=10.2.0.9 LicensePort=5555 ODBC30=1 [POSTGRES] environments=TPPRD,TPHML,TPDEV [POSTGRES/TPPRD] user=tpprd password=œðö¼ TableSpace=tpprd_data IndexSpace=tpprd_index [POSTGRES/TPHML] user=tphml password=œðèó´ TableSpace=tphml_data IndexSpace=tphml_index [POSTGRES/TPDEV] user=tpdev password=œðäëŠ TableSpace=tpdev_data IndexSpace=tpdev_index
Aviso - Chave ODBC30
A chave ODBC30 deve estar habilitada em ambientes PostgreSQL, conforme documentação do DBAccess.
Após o teste de conexão, verifique a criação das tabelas do DBAccess no banco de dados. Com estas tabelas, o banco de dados pode ser utilizado para o ERP.
No pgAdmin podemos visualizar no “Databases” + “tpprd” + “Schemas” + “Tables”, as tabelas que foram criadas após o teste de conexão do DBAccess:
Ou com a seguinte query:
SELECT tablename FROM pg_tables where tableowner='tpprd';
Atenção - Ambientes de produção
É importante ressaltar que em ambientes de produção, o ideal é ter um DBA para apoiar na instalação e configuração, por conta de configurações específicas de cenário e tuning no banco de dados.