PostgreSQL Prático/Conectividade
13 - Conectividade
[editar | editar código-fonte]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: