ASP .NET - Trabalhando com o PostGreSQL - I
Este artigo mostra como usar e acessar o banco de dados PostGreSQL em uma aplicação ASP .NET.
A primeira coisa que você vai fazer é baixar o gerenciador de banco de dados PostGreSQL no seguinte link:
http://wwwmaster.postgresql.org/download/
O pacote de instalação do PostgreSQL inclui o servidor PostgreSQL, o pgAdmin III, que é uma ferramenta gráfica para gerenciar os seus banco de dados e o StackBuilder, um pacote que pode ser usado para baixar e instalar aplicações PostegreSQL e drivers adicionais.
Note: Somente a partir da versão PostgreSQL 8.2 e superior a versão para o WIndows é suportada.
O link a para a versão Windows é o seguinte:
http://www.enterprisedb.com/products/pgdownload.do#windows
Além disso existem outras ferramentas úteis que o ajudarão a trabalhar com o PostgreSQL :
pgAdmin III - ferramenta de administração multi-plataforma ;
PhpPgAdmin - ferramenta de administração na plataforma web ;
PgWorksheet - ferramenta para executar comandos SQL e do psql ;
Obs: Para instruções de instalação veja o meu artigo: Acessando o PostgreSql
Nota : Você deve baixar o conector .NET para PostgreSQL - Npgsql - .Net Data Provider for Postgresql e referênciar no projeto.
Para referenciar o conector clique com o botão direito do mouse sobre o nome do projeto e selecione Add Reference;
Clique na aba Browse e localize onde esta o arquivo do conector Npgsql.dll e clique em OK;
Após instalar o PostgreSQL, para administrá-lo devemos usar uma ferramenta gráfica para facilitar o nosso trabalho vamos usar o pgAdmin III que é instalado junto com o PostgreSQL.
Abrindo o pgAdmin a primeira tela que será mostrada é a tela abaixo:
A tela à esquerda mostra as conexões com o servidor do banco de dados e temos apenas uma conexão.
Para se conectar com o banco de dados clique com o botão direito sobre a conexão e selecione Conectar/Connect.
Será solicitada a sua senha de acesso e após a sua confirmação a tela abaixo será exibida:
Obs: Ao clicar em (+) da opção Databases veremos o banco de dados PostgreSql que é criado automaticamente na instalação. (Esse banco de dados não será utilizado e não pode ser excluído por se tratar de um banco utilizado para administração do Postgresql.)
Expandindo as opções veremos uma hierarquia de objetos:
De forma resumida temos os seguintes objetos:
Para criar uma nova tabela clique com o botão direito sobre o objeto Tabelas ou Tables e selecione Nova Table ou New Table;
Informe o nome clientes para a nova tabela, de preferência para usar nomes em letras minúsculas.
Para definir os campos clique na aba Columns e informe o nome e tipo da coluna. Lembrando que um campo auto-numeração no PostGreSQL deve ser definido como to tipo Serial;
Após definir os campos podemos editar a tabela e incluir uma linha conforme a figura abaixo:
Se desejar pode usar uma instrução SQL para incluir, alterar, excluir registros na tabela. Clique com o botão direito sobre o nome da tabela e selecione Scripts->Script INSERT. Será aberta a janela com o script bastando inserir o valor no lugar da ?:
Vamos agora realizar um teste de conexão com o banco de dados e acessar a tabela clientes em uma aplicação ASP .NET.
Abra o Visual Web Developer 2010 Express Edition e crie um novo projeto do tipo ASP .NET Web Site usando a linguagem Visual Basic com o nome de Acesso_PostgreSQL;
Em seguida vamos incluir uma referência ao conector PostgreSql Npgsql, clicando com o botão direito sobre o nome do projeto e selecionando Add Reference;
Em seguida selecione a guia Browse e localize onde foi instalado o conector PostgreSql e selecione o arquivo conforme abaixo:
A seguir no formulário web Default.aspx inclua um controle GridView e um controle Label conforme o leiaute abaixo;
Se desejar adote uma formatação qualquer para o controle GridView para exibir os dados.
O arquivo Default.aspx.vb no code-behind inclua o seguinte código no evento Load do formulário:
Imports Npgsql Imports System.Data Partial Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'define os parƒmetros da conexÆo Dim conn As NpgsqlConnection = Nothing Dim server As String = "127.0.0.1" Dim port As String = "5432" Dim database As String = "teste" Dim userId As String = "macoratti" Dim userPassword As String = "******"
Dim strcon As String = String.Format("Server={0};Port={1};Database={2};User Id={3};Password={4};", server, port, database, userId, userPassword) Try 'Instancia NpgsqlConnection na variavel conn conn = New NpgsqlConnection(ConexaoPG) 'Abre a conexão conn.Open() 'Declara e atribui a instrucao SQL de consulta Dim SQL As String = "SELECT * FROM public.clientes" 'Instancia o NpgsqlDataAdapter responsavel pela comunicação 'é feita a leitura dos dados preenchendo o dataset Dim da As Npgsql.NpgsqlDataAdapter = New NpgsqlDataAdapter(SQL, conn) 'Instacia um DataSet Dim ds As DataSet = New DataSet() 'Preenche o DataAdapter da.Fill(ds, "Clientes") 'Atribui um Datasource a Grid GridView1.DataSource = ds.Tables(0).DefaultView Catch ex As Exception lblmsg.Text = ex.Message Finally If Not conn Is Nothing Then If conn.State = Data.ConnectionState.Open Then conn.Close() End If End If End Try End Sub End Class |
A primeira coisa a mencionar é que os valores que definem os parâmetros de conexão usado referem-se ao da minha máquina local e por isso os seus valores serão diferentes.
Outra coisa importante é a instrução SQL usada: "SELECT * FROM public.clientes"
o nome da tabela esta em letras minúsculas e precedida de public: public.clientes
Você pode ver o resultado clicando no link: http://www.macoratti.net/pgsql/
Obs: Estou exibindo apenas alguns registros.
Aguarde na continuação as rotinas para alterar, incluir e excluir dados no PostGreSQL.
Pegue o projeto completo aqui: Acesso_PostGreSQL.zip
Eu sei é apenas ASP .NET, mas eu gosto...
Referências: