quinta-feira, 1 de outubro de 2009

Instalação e Configuração do Postgres para acesso remoto + Classe de conexão Java

*Configurações para Windows



Download do BD: http://www.enterprisedb.com/products/pgdownload.do#windows

* Primeiramente iremos criar um usuário dedicado para o PostgreSQL
   Para a instalação do BD é necessário criar um usuário dedicado para o mesmo.


   * Meu Computador > Painel de Controle > Ferramentas Administrativas > Gerenciamento do Computador
   * Expandir a guia Usuários e Grupos Locais no menu à esquerda;
   * Clique em Usuário com o botão direito e em seguida Incluir
   * Preencha conforme o modelo abaixo;



















* Instalação do PostgreSQL





  
























































* Selecione a opção "Todo o recurso será instalado no dísco rígido", conforme exemplo abaixo.



















 
* Informe a conta + senha criada no início do post. 

  





















* Caso necessário conceda o direito de "Log on as service".





































* Marque a opção "Aceitar conexões em todos os endereços, e não apenas localhost". Em seguida informe a conta + senha criada no início do post.





















* Você será avisado que para eventuais conexões remotas você terá que editar o arquivo  pg_hba.conf, apenas clique em Ok, logo editaremos este arquivo.







* Mantenha a opção marcada e clique em próximo.





















* Mantenha a opção marcada e prossiga.








































 
* Instalação concluída.





















* Agora iremos editar o arquivo  pg_hba.conf para habilitar o acesso ao banco de dados.


  Localize o aquivo em C:\Arquivos de programas\PostgreSQL\8.3\data e edite-o com o bloco de notas.
  Na última linha do arquivo adicione:


  host     all         all         0.0.0.0/0            md5



  Salve o arquivo modificado.


  -- Com esta linha configurada acabamos de permitir acesso ao postgres por todas as redes.



* Agora irei disponibilizar uma classe exemplo para conexão com o Banco de Dados:


  - Para conexão remota utilizei na url um host criado no No-IP. (No meu post anterior abordei sobre o registro de host no site No-IP)



  - Configure o driver JDBC para pasta lib do projeto e é só testar!


-----------------------------------------------------------------------------------------------------------------------------------------------------------------



import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class TestaConexao extends JFrame{

    private static final long serialVersionUID = 1L;
    JButton botao;
    public TestaConexao(){
        super("Testando a Conexao...");
        Container tela = getContentPane();
        setLayout(null);
        botao = new JButton("Verificar Conexao");
        botao.setBounds(50,50,150,20);
        botao.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                try{
                    String usuario = "teste";
                    String senha = "123";
                    String url = "jdbc:postgresql://teste.no-ip.org:5432/postgres";
                    Class.forName("org.postgresql.Driver");
                    Connection con;
                    con = DriverManager.getConnection(url,usuario,senha);
                    JOptionPane.showMessageDialog(null,"Conexao estabelecida","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);
                    con.close();                   
                    }catch(Exception event){
                    JOptionPane.showMessageDialog(null,"Conexao não estabelecida","Mensagem do Programa",JOptionPane.ERROR_MESSAGE);                   
                    }}});
        tela.add(botao);
        setSize(300,150);
        setVisible(true);
        setLocationRelativeTo(null);
    }
    public static void main(String args[]){
        TestaConexao app = new TestaConexao();
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
  }
}

 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Nenhum comentário:

Postar um comentário