Desenvolvimento - ASP. NET

Acessando o PostgreSQL com ASP.NET e NpgSQL

Neste artigo vamos aprender a acessar, através de uma página ASP.NET, o banco de dados PostgreSQL utilizando o NpgSQL.

por Eric Cavalcanti



Neste artigo vamos aprender a acessar, através de uma página ASP.NET, o banco de dados PostgreSQL utilizando o NpgSQL. O NpgSQL é um .Net Data Provider para acesso ao PostgreSQL totalmente escrito em C#, sendo 100% código gerenciado, podendo ser compilado e executado no Mono, Portable.Net e na implementação da MS, permitindo uma grande portabilidade das aplicações que utilizam o PostgreSQL. Apesar de estar numa versão beta, ele implementa as mais importantes interfaces de acesso a dados e possui um mecanismo de pool de conexões. Decidi utilizar o ASP.NET WebMatrix por ser, além de gratuito, uma excelente opção para o desenvolvimento de páginas ASP.NET.

Adquirindo o Npgsql

O Npgsql pode ser adquirido em http://gborg.postgresql.org/project/npgsql/. Para utilizarmos o Npgsql precisamos apenas dos binários. Mas recomendo fazer o download do source também, já que este último possui uma pequena documentação do usuário que poderá ser consultada quando preciso.

Projeto

Vamos criar uma tabela de clientes para ser consultada em nosso projeto.

CREATE TABLE "clientes" (
"cod" INTEGER NOT NULL UNIQUE,
"nome" VARCHAR(50) NOT NULL,
"profissao" VARCHAR(20),
PRIMARY KEY("cod")
) WITH OIDS;

Adicione alguns registros a essa tabela.

Execute o ASP.NET WebMatrix. Na janela Add New File selecione o template ASP.NET Page (General). Em Location digite uma pasta onde seu projeto será armazenado. Vamos definir o Filename para default.aspx. Em Language selecione C#.

Observe a figura abaixo:

Agora vamos adicionar nosso diretório ao Workspace. Clique em New Project no menu File. Selecione Folder Shortcut clique em OK e selecione a pasta informada anteriormente. Exemplo: C:\Inetpub\wwwroot\pgsql.
Em Workspace adicione um novo diretório com o nome bin e copie os arquivos do Npsql para o mesmo.

Observe na figura abaixo como deverá ficar nosso workspace:

Para aqueles que estão acostumados a utilizar o Visual Studio.NET deve estar se perguntando qual o motivo da criação manual do diretório bin. No ASP.NET WebMatrix não é possível adicionar uma referência ao projeto pela própria ferramenta. Precisamos então criar este diretório para que nossas páginas possam importar as referências.

Digite o texto "Acessando o PostgreSQL com Npsql" no documento. Arraste um DataGrid da toolbox e defina seu ID para dgClientes em Properties.

Nosso projeto deverá estar conforme a figura abaixo:

Agora em Properties selecione o objeto Page no combo box e clique no ícone do raio para exibir os eventos.

Dê dois cliques ao lado do evento Load e o código do evento será exibido. Digite o seguinte código:

Defina a string conexao de acordo com as configuração do seu servidor PostgreSQL..
Observe que a utilização é muito similar as classes já existentes no .NET Framework, isso porque o Npsql implementa as interfaces IDbConnection, IDataAdapter e etc.

Para que nossa página possa funcionar é preciso importar os namespaces utilizados. Clique na aba All na parte inferior do documento e adicione as seguintes linhas após a linha da diretiva Page.

Agora execute o projeto.

Com isso podemos concluir que o Npgsql é uma excelente alternativa para aqueles que não desejam utilizar conexões ODBC com o banco de dados PostgreSQL em suas aplicações .NET. Até o próximo artigo.

Eric Cavalcanti

Eric Cavalcanti - Engenheiro de Sistemas do C.E.S.A.R (Centro de Estudos e Sistemas Avançados do Recife) atuando atualmente em desenvolvimento de jogos para dispositivos móveis.