Compilar código Java com conexão ao banco de dados

Olá a todos.
Fiz um programa em Java pelo Eclipse. Dentro da IDE consigo conectar com o banco de dados e tudo mais, mas quando compilo o código, ele já não se comunica mais com o banco.
Na hora de exportar o código para .jar é necessário fazer mais alguma coisa para compilar o JDBC junto ?
Agradeço desde já a ajuda.

Oi, Nickolasvaloto.

Eu acredito que não. A IDE pode estar bugada. Não faz sentido algo rodar na IDE e não rodar fora dela.

Você está usando o JDBC da maneira convencional, né? O seu DB é qual? Embarcado?

Tenta nos dar mais detalhes pra gente te ajudar melhor, okay?

[]'s

Qualquer coisa, execute o .jar pelo cmd para ver se alguma exception é lançada, aí se torna mais fácil identificar o que pode estar ocorrendo.

1 curtida

FearX.
Tambem achei estranho, mas estou acessando um BD Oracle, da maneira convencional.

Jonathan_Medeiros

O erro que surgiu foi esse:
Java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@“ip:porta:banco”
Como se eu não tivesse adicionado o .jar do jdbc.

Verificou se o .jar foi adicionado nas dependências do projeto?
Veja se ele está realmente lá, aplicar um limpar e construir novamente.

Eu tive esse problema com um projetinho tempo atrás. Adicionei o seguinte código e ele achou o driver:

Class.forName("org.sqlite.JDBC");

Claro que eu estava usando outro DB, mas é só adaptar pro seu que eu acho que pode funcionar.

Funcionou para esse erro, mas agora surgiu outro erro:
java.lang.classnotfoundexception: oracle.jdbc.driver.OracleDriver

Estou pesquisando sobre mas até o momento não achei solução.

Certo, você adaptou a direção da classe? Ali está procurando pela classe JDBC no pacote org.sqlite.

Essa exception ocorre porque, como diz o nome:
java.lang.classnotfoundexception: oracle.jdbc.driver.OracleDriver

A classe OracleDriver do pacote oracle.jdbc.driver não foi encontrada.

Aparentemente, você está apontando pro lugar errado. Pense nisso!

Fora isso, esse código deve ser executado apenas uma vez. Use como referência para estudar esses links aqui:

  1. What is the actual use of Class.forName(“oracle.jdbc.driver.OracleDriver”) while connecting to a database?
  2. Loading JDBC driver
  3. Basic Features

Agradeço muito pela ajuda, os links esclareceram outras duvidas também, mas fuçando mais um pouco achei outro tópico que resolveu o problema, não é a forma mais “elegante”, mas está funcionando até eu achar outra forma de correção:

Link: Programa não encontra o Driver JDBC-ODBC para o Oracle