Ajuda com Access, funciona em uma maquina mais em outra nao

16 respostas
JJjava

olá pessoal!,

estou usando a seguinte classe de conexao

package Connection;

import java.sql.*; 

public class MyConnection
{	   
  public static Connection getConnection() throws Exception 
  {
       System.out.println(System.getProperty("user.dir")+"/database.mdb");
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       String URL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+System.getProperty("user.dir")+"\\database.mdb";
       Connection c = DriverManager.getConnection(URL, "", "");   
       return c;
    }   
}

no meu pc roda de boa fui rodar ele no pc do trabalho estou tento o seguinte erro

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado

oq pode ser?

Grato!!!

16 Respostas

davidbuzatto

Crie a fonte de dados ODBC no outro PC e aponte a URL de conexão para o endereço definido na fonte de dados.

[]´s

JJjava

davidbuzatto:
Crie a fonte de dados ODBC no outro PC e aponte a URL de conexão para o endereço definido na fonte de dados.

[]´s


eu estou rodando localmente, e na outra maquina nao setei fonte de dados e nao posso fazer isso senao vou perder a portabilidade, pois o sistema vai rodar embarado em uma unidade removivel.

romarcio

Na boa, não usa o Access.

Usa um banco escrito em java mesmo, tem o Derby e o HSQLDB. Ambos podem ser usados como standalone, que vai junto com a aplicação e roda sem um gerenciador de banco de dados.

Vc encontra muito material sobre como usalos, aqui tem um http://www.guj.com.br/article.show.logic?id=162 sobre HSQLDB.

JJjava

romarcio:
Na boa, não usa o Access.

Usa um banco escrito em java mesmo, tem o Derby e o HSQLDB. Ambos podem ser usados como standalone, que vai junto com a aplicação e roda sem um gerenciador de banco de dados.

Vc encontra muito material sobre como usalos, aqui tem um http://www.guj.com.br/article.show.logic?id=162 sobre HSQLDB.


esse derby e aquele q tem no netbeans “javadb” ???

romarcio

JJjava:
romarcio:
Na boa, não usa o Access.

Usa um banco escrito em java mesmo, tem o Derby e o HSQLDB. Ambos podem ser usados como standalone, que vai junto com a aplicação e roda sem um gerenciador de banco de dados.

Vc encontra muito material sobre como usalos, aqui tem um http://www.guj.com.br/article.show.logic?id=162 sobre HSQLDB.


esse derby e aquele q tem no netbeans “javadb” ???

Sim, o ele mesmo.

Mas não tenho certeza se no netbeans ele está configurado para standalone.

JJjava

romarcio:
JJjava:
romarcio:
Na boa, não usa o Access.

Usa um banco escrito em java mesmo, tem o Derby e o HSQLDB. Ambos podem ser usados como standalone, que vai junto com a aplicação e roda sem um gerenciador de banco de dados.

Vc encontra muito material sobre como usalos, aqui tem um http://www.guj.com.br/article.show.logic?id=162 sobre HSQLDB.


esse derby e aquele q tem no netbeans “javadb” ???

Sim, o ele mesmo.

Mas não tenho certeza se no netbeans ele está configurado para standalone.


isso q eu preciso saber como configurar em standalone e como fica a classe de conexao.

eu baixei e instalei mais agora nao consigo conectar nele adicionei no path o derbyclient e ainda sim continuo recebendo java.sql.SQLException: No suitable driver found for jdbc:derby:sherlock;

romarcio

Isso é possivel encontrar na documentação do Derby

http://db.apache.org/derby/docs/dev/pt_BR/ref/refderby.pdf

abre o PDF e procura por EmbeddedDriver é a mesma coisa que standalone.

JJjava

agora acho q consegui conetar mais estou recebendo o erro

java.sql.SQLSyntaxErrorException: O esquema ‘DBA’ não existe

romarcio

Quando rola esse erro? Em uma consulta ou na hora da conexão?

Posta a sua String de conexão ou a consulta que esteje fazendo quando rola o erro.

JJjava

romarcio:
Quando rola esse erro? Em uma consulta ou na hora da conexão?

Posta a sua String de conexão ou a consulta que esteje fazendo quando rola o erro.


e essa ai e agora esta dando o erro
java.sql.SQLException: Falha ao iniciar o banco de dados ‘C:\Users\s2informatica\Downloads\LiteSherlock\LiteSherlock\database’, consulte a próxima exceção para obter detalhes.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
       String path_db = System.getProperty("user.dir")+"\\database";
       String url = "jdbc:derby:"+path_db+";create=true";


          Connection  c = DriverManager.getConnection(url);
       return c;
romarcio
JJjava:
romarcio:
Quando rola esse erro? Em uma consulta ou na hora da conexão?

Posta a sua String de conexão ou a consulta que esteje fazendo quando rola o erro.


e essa ai e agora esta dando o erro
java.sql.SQLException: Falha ao iniciar o banco de dados 'C:\Users\s2informatica\Downloads\LiteSherlock\LiteSherlock\database', consulte a próxima exceção para obter detalhes.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
       String path_db = System.getProperty("user.dir")+"\\database";
       String url = "jdbc:derby:"+path_db+";create=true";


          Connection  c = DriverManager.getConnection(url);
       return c;

Essa string está correta? 'C:\Users\s2informatica\Downloads\LiteSherlock\LiteSherlock\database'

Aparece 2 diretorios com o mesmo nome: LiteSherlock

Ele não está encontrando a banco, por isso essa exceção.

JJjava
romarcio:
JJjava:
romarcio:
Quando rola esse erro? Em uma consulta ou na hora da conexão?

Posta a sua String de conexão ou a consulta que esteje fazendo quando rola o erro.


e essa ai e agora esta dando o erro
java.sql.SQLException: Falha ao iniciar o banco de dados 'C:\Users\s2informatica\Downloads\LiteSherlock\LiteSherlock\database', consulte a próxima exceção para obter detalhes.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
       String path_db = System.getProperty("user.dir")+"\\database";
       String url = "jdbc:derby:"+path_db+";create=true";


          Connection  c = DriverManager.getConnection(url);
       return c;

Essa string está correta? 'C:\Users\s2informatica\Downloads\LiteSherlock\LiteSherlock\database'

Aparece 2 diretorios com o mesmo nome: LiteSherlock

Ele não está encontrando a banco, por isso essa exceção.


isso eu olahei eta certo sim nao estou entendendo pq nao esta achando ... pow estou a tarde interira pra fazer isso funcionar q droga!

JJjava
JJjava:
romarcio:
JJjava:
romarcio:
Quando rola esse erro? Em uma consulta ou na hora da conexão?

Posta a sua String de conexão ou a consulta que esteje fazendo quando rola o erro.


e essa ai e agora esta dando o erro
java.sql.SQLException: Falha ao iniciar o banco de dados 'C:\Users\s2informatica\Downloads\LiteSherlock\LiteSherlock\database', consulte a próxima exceção para obter detalhes.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
       String path_db = System.getProperty("user.dir")+"\\database";
       String url = "jdbc:derby:"+path_db+";create=true";


          Connection  c = DriverManager.getConnection(url);
       return c;

Essa string está correta? 'C:\Users\s2informatica\Downloads\LiteSherlock\LiteSherlock\database'

Aparece 2 diretorios com o mesmo nome: LiteSherlock

Ele não está encontrando a banco, por isso essa exceção.


isso eu olahei eta certo sim nao estou entendendo pq nao esta achando ... pow estou a tarde interira pra fazer isso funcionar q droga!

colei o endereço e o driver daki

[img]http://cid-68c901ceec2084d0.photos.live.com/self.aspx/Temp/erro.jpg[/img]
[url]http://cid-68c901ceec2084d0.photos.live.com/self.aspx/Temp/erro.jpg[/url]

romarcio

Tem outra coisa, na documentação a url está assim:

String url = "jdbc:derby:clobberyclob;create=true";

Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();

Connection conn = DriverManager.getConnection(url);

Note que não tem \ antes do nome do banco.

Tenta fazer assim.

JJjava

romarcio:
Tem outra coisa, na documentação a url está assim:

String url = "jdbc:derby:clobberyclob;create=true";

Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();

Connection conn = DriverManager.getConnection(url);

Note que não tem \ antes do nome do banco.

Tenta fazer assim.


ufa!!! funcionou…

romarcio

Legal :smiley:

Criado 27 de agosto de 2010
Ultima resposta 27 de ago. de 2010
Respostas 16
Participantes 3