Fonte de dados ODBC

7 respostas
Link_pg

Tem como acessar um arquivo access sem uma fonte de dados ou se existe algo que crie uma fonte de dados automaticamente?

Flwws

7 Respostas

Luca

Olá

Para acessar esta coisa com perdão da má palavra chamada Access você precisa usar a ponte jdbc.odbc e configurar o cliente ODBC. Agui no GUJ e por aí pela web tem vários artigos explicando como faz isto.

Mas se seu projeto está começando, use o H2 (ou o MySQL ou PostgreSQL ou Derby) ao invés do Access e seja muito mais feliz.

[]s
Luca

Link_pg

sim sim eu uso o mysql mas eh um caso excepcional q preciso usar ‘essa coisa ai que chamam de banco de dados’ e queria que a fonte fosse criada automaticamente

Luca

Olá

Fonte criada automaticamente? De qual fonte fala? Do código Java? De 2 ou 3 linhas para se conectar à base? Ou todo o código SQL para fazer as consultas? Este último pode ter ajuda do Hibernate se você usar o dialeto que dizem existir em http://www.hibernate.org/80.699.html

[]s
Luca

Link_pg

a fonte q estou falando eh a fonte de dados odbc q no windows a gente cria c:\windows\system32\odbcad.exe

queria cria la automaticamente de algum jeito

Luca

Olá

Nem sabia que havia este comando em algum Windows (no meu não tem).

Mas para popular a base de dados, se você já tiver eles em outra base é fácil fazer um bacalhau para migrar. Aliás já existem alguns prontos. Eu até tenho mas nem sei aonde.

[]s
Luca

bzanchet

Sim, é possível conectar via ODBC numa base de dados access sem precisar configuração adicional no windows. Apenas use a seguinte linha como URL de conexão, usando o sun.jdbc.odbc.JdbcOdbcDriver:

jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/caminho/para/o/arquivo.mdb

(sim, as barras são assim mesmo, o Java ‘traduz’).

Repetindo o conselho, fuja do Access. :smiley:
Se o teu problema inclui grande quantidade de código SQL específico já escrito, ainda resta o SQLServer Express como alternativa…

Abraço, Bruno

A

Olá.

Ok, Mas nesse caso eu ainda posso usar a sintaxe sql para fazer a consulta?

Como ficaria a conexão usando esse caminho direto neste exemplo?

public void conexao(){
        if (con == null) {
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                con = DriverManager.getConnection("jdbc:odbc:PagamentoBD", "Administrador", "tag");
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null,  "Erro de Conexão"  );
            }
        }
    	
    }
        
            public boolean consultar() {
     	try {
     		
     		
        	Statement stmt = con.createStatement();

                ResultSet rs = stmt.executeQuery ("SELECT * FROM Pag WHERE matricula LIKE  '%"+bd_Matricula+"%' ");

                if (rs.next()) {

                }
                else {

                }

            }

            }
       
}
Criado 12 de outubro de 2006
Ultima resposta 10 de abr. de 2008
Respostas 7
Participantes 4