quarta-feira, 14 de maio de 2008

Acessando o PostgreSQL a partir do OpenOffice Base com SDBC

O BrOffice Base é um banco de dados com características similares às do Microsoft Access. Dentre seus recursos, a interface com o usuário e os vários assistentes e funcionalidades de interface para a criação de tabelas, consultas, formulários e relatórios diversos tornaram esta ferramenta uma boa e produtiva opção para implementadores.

No entanto, bancos como o PostgreSQL apresentam maior robustez e recursos de gerenciamento. Você pode utilizar no seu projeto a produtividade do Base com a robustez do PostgreSQL. A integração é simples e neste texto é mostrada a integração via SDBC - Star(Office) DataBase Connectivity. Outras opções de midlleware de conexão seriam JDBC, ODBC e unixodbc. Cada uma destas tecnologias têm suas vantagens e limitações que estão fora do escopo deste texto.

O SDBC é um padrão que tem sido atualizado constantemente, daí a ser um dos mais empregados, ao lado do JDBC, tendo a vantagem de ser desatrelado à tecnologia Java.

1 - Instalação do Driver SDBC

Fazer o Download do Driver SDBC no site http://dba.openoffice.org/drivers/postgresql/index.html. No meu caso, criei uma pasta e fiz o download do arquivo compactado para:
C:\Program Files\PostgreSQL\8.3\SDBC.

A instalação do SDBC Driver pode ser feita pelo Writer ou outro programa do BrOffice. Todos os demais programas (de apresentações, planilha, etc.) poderão utilizá-lo. Selecione no menu menu Ferramentas\ Gerenciador de extensão... (Tools\Extension Manager)


Clique no botão adicionar e indique o caminho do arquivo compactado com o driver. Selecione o arquivo que você baixou e o BrOffice vai adicionar o driver.

2 - Configuração do Base para a Conexão.

Após instalar o driver, deve ser reiniciado o BrOffice para que o mesmo apareça para o BrOffice Base. A partir daí será possível a conexão.
Abra o Base e selecione a opção de conexão a um banco de dados existente. Desta forma, você ingressará em um assistente de conexão bem simplificado. Após a instalação do driver SDBC aparecerá em uma grande lista de opções o driver do PostgreSQL.


Após selecionar o PostgreSQL e disparar próximo, aparecerá um campo para digitação de parâmetros. Entre com o host e o nome do banco. Abaixo, os valores testados no exemplo.

host=localhost dbname=teste


Na próxima tela, é definido o usuário do PostgreSQL que vai conectar-se via Base. Este usuário deve estar previamente cadastrado e com as permissões necessárias. Ainda existe a opção de testar a conexão.
Não desmarque a opção de senha obrigatória a não ser que haja uma boa razão. De outro modo, a segurança do seu SGBD estará em risco.


Na última tela do assistente, se escolhe se o banco de dados passa a ser registrado na ferramenta. Em caso afirmativo, o Base vai gravar um arquivo de configurações para reutilização. Você pode gravá-lo na pasta do driver SDBC ou em outro lugar para melhor gerenciamento.


3 - Utilização

Após a conexão via assistente, o Base vai abrir a tela e mostrar os esquemas e objetos do PostgreSQL com a sua própria interface visual. É uma maneira de trabalhar com banco de dados de forma produtiva, pois é possível criar formulários e relatórios de forma rápida e simples, acessível a leigos, por exemplo. Para maiores detalhes, procurar por bons sites de BrOffice Base.

4 - Ressalvas

Os outros middlewares para conexão devem ser explorados por possuírem vantagens/ desvantagens diferentes do SDBC. Praticamente todos apresentam bugs conhecidos e limitações.

A questão de como utilizar o potencial do BrOffice Base está em aberto. A criatividade e adesão dos usuários é que vai fazer ou não este casamento frutificar.

3 comentários:

عبدآلحميداحمد ***H4m1d*** disse...

Boa tarde Cláudio.

Primeiramente eu gostaria de te parabenizar pelo artigo que é muito bom.

Eu estou iniciando os meus estudos relacionados ao postgresql e neste primeiro momento eu estou preferindo utilizar o gerenciamento de bases de dados via linha de comando mesmo (não me pergunte porque já que a maioria prefere se iniciar via interface gráfica), mas oo eu sou um iniciante é sempre muito bom experimentar todas as possibilidades.

Bo, sem mais "conversa fiada", eu não consegui conectar a base de dados de teste que eu tenho para estudos, quando eu clico no botão "Tabelas" uma atela de login é exibida e quando eu autentico com a senha e clico em OK o sistema exibe a mensagem de erro informando que "Não foi possível estabelecer a conexão", demais informações relacionadas à host e dbname e à TCP/IP e porta já que coloquei como host o nome da áquina aqui na rede da empresa.O que posso fazer para resolver este problema?

PS: Também sou colaborador do SERPRO, mais precisamente da regionla Belo Horizonte, é um prazer em ter colegas ativos em comunidades tão siguinificativas como a PostgreSQL Brasil, abraço!

cbleopoldino disse...

Leandro, três coisas podem estar causando este problema:
- Versão do SDBC
- Versão do PostgreSQL
- Versão do BASE
- Configurações do PostgreSQL (pg_HBA).

Não consegui reproduzir o erro com as informações que você me passou. Sugiro que veja se o arquivo PG_HBA está permitindo conexões LOCALHOST.

Se não estiver, autorize e recarregue as configurações. Pode ser que funcione.

Do contrário entre em contato.

Cordialmente,

Cláudio

عبدآلحميداحمد ***H4m1d*** disse...

Boa tarde Cláudio!!!

Primeiramente gostaria de agradecer pelas orientaçôes, foi justamente o que você sugeriu, faltava passar alguns parâmetros de configuração nos arquivos postgresql.conf e pg_hda.conf.Deu tudo certo, consegui conectar ao banco utilizando o openoffice base, mais uma vez muito obrigado!!