Mostrando postagens com marcador postgres. Mostrar todas as postagens
Mostrando postagens com marcador postgres. Mostrar todas as postagens

terça-feira, 2 de outubro de 2007

Conexão do PostgreSQL com o Java

No DETRAN-CE, os sistemas finalísticos foram desenvolvidos em Java, para testar a conexão do PostgreSQL com o Java podem ser utilizados inúmeros clientes de gerenciamento ou modelagem do PostgreSQL. No exemplo que vou mostrar abaixo, utilizei o driver JDBC. O driver JDBC a ser utilizado deve estar de acordo com a versão do PostgreSQL, entretanto temos instalado a versão 8.2.4 do banco e nos testes ela só funcionou com o driver 8.1-410.jdbc3, quando o correto seria utilizar a versão 8.2-506.jdbc4. Ainda estou realizando mais alguns uns testes para entender o que ocorreu.No exemplo abaixo criei uma tabela com dados de livros (id, nome, autor, editor, ano) e me conectei ao postgres para retornar uma consulta simples.

// início da aplicação

import java.sql.*;
public class SQLStatement {
public static void main(String args[]) {
String url = "jdbc:postgresql://host:5432/nomedobanco";
Connection con;
String query = "select * from nomedoesquema.nomedatabela";
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,"login", "senha");
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
int rowCount = 1;
System.out.println("Cadastro de Livros");
while (rs.next()) {
System.out.println("Livro " + 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());
}
}
}

// fim da aplicação

  • RESULTADO DA EXECUÇÃO UTILIZANDO O JDBC 8.1-410.jdbc3

Cadastro de Livros
Livro 1
Campo 1: 3
Campo 2: Estratégia empresarial : tendências e desafios
Campo 3: TACHIZAWA
Campo 4: Makron Books
Campo 5: 2000

Livro 2
Campo 1: 2
Campo 2: Como inovar na empresa através da tecnologia da informação
Campo 3: DAVEPORT
Campo 4: Campus
Campo 5: 1994

Livro 3:
Campo 1: 1
Campo 2: O Planej Estratégico dentro do Conceito de Adm Estratégica
Campo 3: ALDAY
Campo 4: FAE
Campo 5: 2006


  • RESULTADO DA EXECUÇÃO UTILIZANDO O JDBC 8.2-506.jdbc4

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(
Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(
Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(
Native Method)
at java.lang.Class.forName(Unknown Source)
at SQLStatement.main(
SQLStatement.java:11)

sexta-feira, 28 de setembro de 2007

Treinamento para nivelar a equipe

Uma das etapas para realização da migração citada pelo meu amigo Felipe Nogueria, no post anterior, é a formação de uma força-tarefa para fazer a conversão do PL/SQL para PL/pgSQL. Realizamos um recrutamento interno e chegamos a um número de 12 pessoas, mais Felipe Nogueira, Raphael Quetelle, analista responsável pelo sistema que está sendo migrado, Neila Matos, nova colaboradora da equipe de BD, além deste que vos escreve, totalizando 16 pessoas.
Dado a heterogeneidade da equipe, 07 técnicos de suporte, 05 programadores e 04 Analistas, realizaremos neste Sábado, dia 28/09/07, um mini-treinamento de 06 horas, visando nivelamento de conceitos e a execução de algumas pequenas tarefas para identificar o grau de conhecimento dos colaboradores. Acreditamos que será necessário um outro momento, principalmente com os técnicos de suporte, para aprofundar algumas questões, amanhã saberemos.
Deixo a disposição o link com a ementa e o material didático que será utilizado:

Projeto de Tradução do material didático: http://sourceforge.net/projects/pgdocptbr


by TemplatesForYouTFY
SoSuechtig, Burajiru