PostgreSQL Prático/Conectividade

13 - Conectividade editar

Vou mostrar a conectividade do PostgreSQL com o PHP, com o Java e com o Visual BASIC.

Também mostrarei a conectividade através do ODBC com o Access.


Conectando com o PHP

Com o PHP existe uma conexão nativa. Veja um exemplo:

$conexao = pg_connect("host=127.0.0.1 dbname=testes user=postgres password=******* port=5432");

if (!$conexao){

echo "Falha na conexão com o banco. Veja detalhes técnicos: " . pg_last_error($conexao); }


Conexão com Java

A conexão do PostgreSQL com Java é utilizada por diversos clientes de gerenciamento ou modelagem do PostgreSQL. Neste caso utiliza-se o driver JDBC do PostgreSQL. Vide pasta \jdbc da instalação.


Baixar de acordo com sua versão do PostgreSQL, o driver JDBC para o PostgreSQL daqui:

http://jdbc.postgresql.org/download.html#jdbcselection


Aqui para o PostgreSQL versão 8.1.3 baixei o arquivo 8.1-405 JDBC 3.


VB Acessando PostgreSQL via ODBC

O PGODBC deve ser instalado no micro cliente e encontra-se em:

http://www.postgresql.org/ftp/odbc/versions/msi


Criar uma conexão ODBC ao banco do PostgreSQL e no código:

Global Conex As New ADODB.Connection

Global AccessConnect As String

Public Sub Conexao()

 AccessConnect = 

"driver={PostgreSQL};server=10.10.10.10;database=maubanco;uid=postgres;pwd=postgres;"

 Conex.ConnectionString = AccessConnect
 Conex.Open AtivConex.ActiveConnection = Conex

End Sub


Exemplo Básico de Java Acessando PostgreSQL Via JDBC

Crie no PostgreSQL um pequeno banco de dados chamado agenda com uma única tabela chamada amigos.


Esta tabela contendo os campos nome e email apenas. Cadastre um ou mais registros para melhor visualização dos resultados.

import java.sql.*;

public class SQLStatement {

   public static void main(String args[]) { 
       //String url = "jdbc:postgresql://10.0.1.53:5432/agenda"; 
       String url = "jdbc:postgresql://localhost:5432/agenda"; 
       //String url = "jdbc:postgresql:agenda";    //Assim pega os defaults 
       Connection con; 
       String query = "select * from amigos”; 
       Statement stmt; 
       try { 
           Class.forName("org.postgresql.Driver"); 
       } catch(java.lang.ClassNotFoundException e) { 
           System.err.print("ClassNotFoundException: "); 
           System.err.println(e.getMessage()); 
       } 
       try { 
           con = DriverManager.getConnection(url,"postgres", "postgres"); 
           stmt = con.createStatement(); 
           ResultSet rs = stmt.executeQuery(query); 
           ResultSetMetaData rsmd = rs.getMetaData(); 
           int numberOfColumns = rsmd.getColumnCount(); 
           int rowCount = 1; 
           while (rs.next()) { 
               System.out.println("Registro " + rowCount + ":  "); 
               for (int i = 1; i <= numberOfColumns; i++) { 
                   System.out.print("   Campo " + i + ":  "); 
                   System.out.println(rs.getString(i)); 
               } 
               System.out.println(""); 
               rowCount++; 
           } 
           stmt.close(); 
           con.close(); 
       } catch(SQLException ex) { 
           System.err.print("SQLException: "); 
           System.err.println(ex.getMessage()); 
       } 
   } 

}


Conexão Com o Visual BASIC

Podemos nos conectar a uma base de dados PostgreSQL usando o Visual Basic via ADO. Para isto temos que usar um driver ODBC para a plataforma Windows.


Voce vai precisar ter o PostgreSQL instalado somente no servidor e o driver ODBC no cliente.

Instala-se o psqlODBC e configura-se a conexão com o banco desejado.


If so then use something like

  CurrentProject.Connection.Execute StrSql2

If not linked tables then use something like

 Dim cnn as new ADODB.Connection
 cnn.Open "DSN=my_dbs_dsn_name" 'or a full PostgreSQL connection string to save a trip to the 

registry

 cnn.Execute StrSql2

Outro exemplo:

Criar um DSN ODBC "pgresearch" via ADO e use:


Dim gcnResearch As ADODB.Connection

Dim rsUId As ADODB.Recordset


' open the database

Set gcnResearch =3D New ADODB.Connection

With gcnResearch

.ConnectionString =3D "dsn=3Dpgresearch"

.Properties("User ID") =3D txtUsername

.Properties("Password") =3D txtPassword

.Open

End With


Acessando com o Visual C#.net, ver link:

http://www.linhadecodigo.com.br/artigos.asp?id_ac=355